Laravel 5.2:Process类依赖于proc_open,这在PHP安装中不可用
我使用cron作业来执行一些CRUD操作,使用laravel任务调度。在localhost和我的共享托管服务器上,它工作了好几个月,直到最近我在共享托管服务器上运行cron作业时,一直出现这个错误。我没有对共享托管服务器上的代码进行任何更改Laravel 5.2:Process类依赖于proc_open,这在PHP安装中不可用,php,laravel,cron,cpanel,Php,Laravel,Cron,Cpanel,我使用cron作业来执行一些CRUD操作,使用laravel任务调度。在localhost和我的共享托管服务器上,它工作了好几个月,直到最近我在共享托管服务器上运行cron作业时,一直出现这个错误。我没有对共享托管服务器上的代码进行任何更改 [2017-07-14 09:16:02] production.ERROR: exception 'Symfony\Component\Process\Exception\RuntimeException' with message 'The Proces
[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:
但是在localhost上,它工作得很好。根据我在网上的发现,我尝试了以下方法
所有这些都无法解决问题。我不确定下一步要尝试什么,因为同一个项目在不同的共享托管服务器上运行良好。经过数周的尝试解决此错误后。以下修复工作正常
现在,cron作业运行顺利。我希望这能帮助一些人。对于我来说,删除config.php文件的缓存版本可以解决问题(Laravel 6)。 转到bootstrap/cache/config.php并删除文件。 另外,不要忘记将APP_URL更改为您的域地址。PHP版本应符合laravel版本的要求
对于共享主机,如果无法更改php.ini,则应使用laravel 5.8。在调试模式下启用Flare错误报告服务时,您将看到此错误 解决办法是: 发布flare配置文件
php artisan vendor:publish --tag=flare-config
在config/flare.php集合中:
'reporting' => [
'anonymize_ips' => true,
'collect_git_information' => false,
'report_queries' => true,
'maximum_number_of_collected_queries' => 200,
'report_query_bindings' => true,
'report_view_data' => true,
],
'send_logs_as_events' => false,
Laravel 6及以上(程序打开错误)
这是因为在调试模式下启用了Flare错误报告服务
这有一个解决办法
发布flare配置文件
php artisan供应商:发布--tag=flare配置
在config/flare.php中
设置
“收集信息”=>错误
“报告”=>[
“匿名化”=>正确,
“收集信息”=>false,
“报告查询”=>true,
“收集的查询的最大数量”=>200,
“报告查询绑定”=>true,
“报告视图数据”=>true,
],
您可以在风险管理中使用此选项:
/usr/local/bin/php -d "disable_functions=" /home/didappir/public_html/api/artisan schedule:run > /dev/null 2>&1
这个错误让我发疯了。。。最后我意识到我在“routes/web.php”文件中犯了一个错误,处理路由的控制器方法设置错误。我解决了这个问题,错误消除了
// wrong one :
Route::get('test', 'TestController@test');
// fixed one :
Route::get('test', 'Panel\TestController@test');
因此,在对复杂的配置文件进行任何更改之前,只需确保您拥有路线控制器的正确路径。您使用的是什么版本的Laravel?Laravel 6是我的版本不适用于我,Laravel Framework 6.18.2和PHP版本ea-php73hi,请向我显示命令。我在公司里找不到工作。我也有Laravel 7和Cpanel,我这样测试过:/opt/Cpanel/ea-php72/root/usr/bin/php/home/brooklyn/Sistema/artisan schedule:run>/dev/null 2>&1这对我不起作用,Laravel Framework 6.18.2和php版本ea-php73