2017-07-31 132 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作業順利進行。我希望這可以幫助別人。