#1.問題說明:
在linux伺服器使用composer部署yii專案時,出現「proc_open(): fork failed - Cannot allocate memory」
#也就是提示“提示記憶體不足”,我們可以透過建立swap分區來解決這個問題。
2.解決方法:
- 先執行free -m 看下空間是多少
- 在命令列環境依次執行以下三條命令
dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 mkswap /var/swap.1 swapon /var/swap.1
- 範例:[以下是我在伺服器運行的結果]
dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 //第一条指令 1024+0 records in //这个是返回的内容 1024+0 records out //这个是返回的内容 1073741824 bytes (1.1 GB) copied, 10.0607 s, 107 MB/s //这个是返回的内容
mkswap /var/swap.1 //第二条指令 Setting up swapspace version 1, size = 1048572 KiB //这个是返回的内容 no label, UUID=f6280c41-21b4-4039-bc3e-c26284b47b0c //这个是返回的内容
swapon /var/swap.1 //第三条指令 swapon: /var/swap.1: insecure permissions 0644, 0600 suggested. //这个是返回的内容
- 解釋:
dd 从/dev/zero设备复制出一个1G大小的文件/var/swap.1 mkswap 格式化/var/swap.1 swapon 将swap分区挂在到文件系统 然后输入free -m 查看内存使用量信息
- 最後再次執行composer update就成功了。