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就成功了