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