Jér*_*lon 10 php centos command-line-interface cpanel symfony
我在运行带有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在我的帐户中登录再次没有任何效果
我现在已经没有选择了.我联系了我的主持人,但他们和我一样无能为力(实际上,他们甚至不知道Symfony).有没有人经历过同样的问题?
如果,任何机会,/usr/local/cpanel/etc/login_profile/limits.sh
让我接近答案,我错过了什么?我是否需要重新启动服务器或重新启动cPanel,而不是仅重新登录到我的帐户?
另一方面,这可能与WHM/cPanel更新有关(如前所述,几天前所有东西都在命令行上完美运行)?
感谢您的帮助,对不起这个长期问题感到抱歉.
PS:我在Stack Overflow上发现了其他类似的问题,但是每个问题都是用我已经尝试过的东西来解决的.所以我想我遇到了一个不同的问题.
事实证明,在进行不需要的 cPanel 更新后,我的 SSH 端口的默认值发生了更改,并且我无法登录。我在安全模式下重新启动 SSH 才能登录。
今天,凭直觉,我查看了 中的 SSH 端口/etc/ssh/sshd-config
,以“正常”模式重新启动 SSH,并使用正确的端口登录:脚本现在可以完美运行。
所以原因就是在安全模式下使用 SSH,仅此而已。希望这个非常具体的问题对其他人有用:除非绝对需要,否则永远不要在日常使用中使用 SSH 安全模式。
归档时间: |
|
查看次数: |
1778 次 |
最近记录: |