小编Jér*_*lon的帖子

使用cPanel运行CentOS的VPS服务器上的PHP CLI"Out of memory"错误

我在运行带有cPanel的CentOS的托管虚拟服务器上运行Symfony2.1.除了我不能再使用symphony CLI命令外,一切运行正常.我明白了:

Fatal error: Out of memory (allocated 20185088) (tried to allocate 71 bytes)
Run Code Online (Sandbox Code Playgroud)

错误(例如,当我尝试运行php app/console cache:clear --env=prod或其他有用的Symfony命令时).

我几个月来一直使用相同的命令,没有任何问题,直到几天前出现这个错误.从那以后,我一直无法克服这个错误.

我想指出这不是PHP memory_limit相关的错误(见下文),是"Out of memory"错误而不是"Allocated memory size"错误.

当添加到cron作业时,完全相同的命令运行完美(这是我现在使用的临时解决方法),这意味着脚本本身不应受到指责.

到目前为止我试图做的事情:

  • 增加php.ini中的memory_limit(或直接在命令行上):正如我所怀疑的那样,我遇到的错误类型,这没有任何影响

  • 搜索可能会覆盖CLI的此设置的任何其他php.ini文件:没有

  • 使用 free -m 监视内存使用情况:有足够的可用内存(这是预期的,因为symfony命令通过cron作业完美运行)

  • 例如,尝试通过更新来查找WHM/cPanel是否可以为用户帐户设置任何内存限制:我发现在使用被监禁的SSH shell时可能就是这种情况(但事实是,我不是,我正在使用普通的SSH shell),或者如果启用Shell Fork Bomb保护(但不是,我的服务器上已禁用)

  • 使用ulimit -a 检查我的服务器/帐户上的ulimit设置:有限制,但它们达到256M而我的"Out of memory"错误表明似乎不允许超过20M到PHP CLI

  • 检查.conf文件中是否有任何内存限制,特别是在/etc/security/limits.conf中:没有

  • 检查可以设置这种内存限制的任何其他文件:这次我确实找到了一个,即/usr/local/cpanel/etc/login_profile/limits.sh似乎设置了这样的限制(ulimit -n 100 -u 35 -m 20000 -d 20000 -s 8192 -c 20000 -v unlimited 2>/dev/null)=>我以为我终于找到了罪魁祸首,因为数字(20000)似乎对应,但是将此文件编辑为root并再次通过SSH在我的帐户中登录再次没有任何效果

我的问题 …

php centos command-line-interface cpanel symfony

10
推荐指数
1
解决办法
1778
查看次数

标签 统计

centos ×1

command-line-interface ×1

cpanel ×1

php ×1

symfony ×1