我使用cron job使用laravel Task Scheduling进行一些CRUD操作。在localhost和我的Share-Hosting服务器上,它运行良好数月,直到最近我在我的Share-Hosting服务器上运行cron作业时仍然遇到此错误。我没有对Share-Hosting服务器上的代码进行任何更改。
[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上运行正常。基于我在网上的发现,我尝试了以下内容。
这些都没有解决问题。我不确定接下来会尝试什么,因为相同的项目在不同的Share-Hosting Server上运行良好。
答案 0 :(得分:6)
经过数周的尝试解决此错误。以下修复工作
现在,cron工作顺利进行。我希望这有助于某人。
答案 1 :(得分:1)
对我来说,删除config.php文件的缓存版本可解决问题(Laravel 6)。 转到bootstrap / cache / config.php并删除文件。 另外,不要忘记将APP_URL更改为您的域名地址。 PHP版本应符合laravel版本要求。
对于共享主机,如果您无法更改php.ini,则应使用laravel 5.8。
答案 2 :(得分:1)
您可以在有风险的情况下使用它:
/usr/local/bin/php -d "disable_functions=" /home/didappir/public_html/api/artisan schedule:run > /dev/null 2>&1
答案 3 :(得分:0)
在调试模式下启用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,
答案 4 :(得分:0)
这是因为在调试模式下启用了Flare错误报告服务 有一个解决方法。
发布火炬配置文件
php artisan vendor:publish --tag=flare-config
和config/flare.php
设置
'collect_git_information' => false
'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,
],
答案 5 :(得分:0)
这个错误使我发疯! ...最后,我意识到我在“ routes / web.php”文件中犯了一个错误,处理该路由的控制器方法设置错误。我解决了这个错误,但错误消失了。
// wrong one :
Route::get('test', 'TestController@test');
// fixed one :
Route::get('test', 'Panel\TestController@test');
因此,在对复杂的配置文件进行任何更改之前,只需确保具有正确的路径控制器路径即可。