2017-07-31 95 views
3

我使用cron作业来使用laravel任务调度来执行一些CRUD操作。在本地主机和我的共享主机服务器上它工作得很好,直到最近几个月,当我在共享主机服务器上运行cron作业时,我仍然收到这个错误。我没有对我的Share-Hosting服务器上的代码进行任何更改。Laravel 5.2:Process类依赖于proc_open,它不适用于您的PHP安装

[2017-07-14 09:16:02] production.ERROR: exception 'Symfony\Component\Process\Exception\RuntimeException' 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: 

但在本地主机上它工作正常。根据我在网上的发现,我尝试了以下内容。

  1. 联系我的托管公司删除proc_open窗体禁用PHP函数。
  2. 托管公司提供了自定义的php.ini文件。我删除所有disable_functions选项
  3. 共享托管服务器重新启动和高速缓存被清除

没有这个固定的问题。我不确定接下来要做什么,因为同一个项目在不同的共享主机服务器上工作正常。

回答

3

经过数周的尝试解决此错误。以下修复使用 “选择PHP版本” 工作

  1. 升级项目从Laravel 5.2至5.4
  2. 在的cPanel设置PHP版本7
  3. 或者对的cPanel使用 “MultiPHP管理器” 设置PHP版本,以EA-php70

现在,cron作业顺利进行。我希望这可以帮助别人。