Laravel 5.2:Process 类依赖于 proc_open,这在您的 PHP 安装中不可用

2022-01-03 00:00:00 cron cpanel php laravel

我使用 cron 作业使用 laravel 任务调度来做一些 CRUD 操作.在 localhost 和我的 Share-Hosting 服务器上,它工作了好几个月,直到最近我在我的 Share-Hosting 服务器上运行 cron 作业时不断收到此错误.我没有对共享托管服务器上的代码进行任何更改.

I use cron job to do some CRUD operation using laravel Task Scheduling. On localhost and on my Share-Hosting server it worked fine for months until recently I keep getting this error when I run cron job on my Share-Hosting server. I did not make any changes to the code on my Share-Hosting server.

[2017-07-14 09:16:02] production.ERROR: exception 'SymfonyComponentProcessExceptionRuntimeException' with message 'The Process class relies on proc_open, which is not available on your PHP installation.' in /home/xxx/xx/vendor/symfony/process/Process.php:144
Stack trace:

但是在本地主机上它工作正常.根据我在网上的发现,我尝试了以下方法.

But on localhost it works fine. Based on my finding online I have tried the following.

  1. 联系我的托管公司删除 proc_open 表单禁用 PHP 功能.
  2. 托管公司提供了自定义 php.ini 文件.我删除了所有 disable_functions
  3. 共享托管服务器已重新启动并清除缓存

这些都没有解决问题.我不确定接下来要尝试什么,因为同一个项目在不同的共享托管服务器上运行良好.

None of this fixed the issue. I am not sure of what next to try because the same project works fine on different Share-Hosting Server.

推荐答案

经过数周的尝试解决此错误.以下修复有效

After many weeks of trying to resolve this error. The following fixes worked

  1. 将项目从 Laravel 5.2 升级到 5.4
  2. 在 CPanel 上使用选择 PHP 版本"将 PHP 版本设置为 7
  3. 或者在 CPanel 上使用MultiPHP Manager"将 PHP 版本设置为 ea-php70

现在,cron 作业运行顺利.我希望这对某人有所帮助.

Now, cron job runs smoothly. I hope this helps someone.

相关文章