J'utilise cron job pour effectuer une opération CRUD en utilisant laravel Task Scheduling. Sur localhost et sur mon serveur d'hébergement de partage, cela a bien fonctionné pendant des mois jusqu'à récemment, je reçois cette erreur lorsque j'exécute cron job sur mon serveur d'hébergement de partage. Je n'ai apporté aucune modification au code sur mon serveur d'hébergement de partage.
[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:
Mais sur localhost, cela fonctionne bien. Sur la base de mes résultats en ligne, j'ai essayé ce qui suit.
Rien de tout cela n'a résolu le problème. Je ne suis pas sûr de la prochaine étape à essayer car le même projet fonctionne correctement sur différents serveurs d'hébergement de partage.
Après plusieurs semaines à essayer de résoudre cette erreur. Les correctifs suivants ont fonctionné
Maintenant, le travail cron fonctionne sans problème. J'espère que ça aidera quelqu'un.
C'est à cause du service de rapport d'erreurs Flare activé en mode débogage. Il existe une solution pour cela.
Publier le fichier de configuration de flare php artisan vendor:publish --tag=flare-config
et en config/flare.php
Ensemble
'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,
],
Lorsque le service de rapport d'erreurs Flare est activé en mode débogage, vous verrez cette erreur
La solution est:
Publier un fichier de configuration de flare
php artisan vendor:publish --tag=flare-config
dans config/flare.php Set:
'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,
Pour moi, la suppression de la version en cache du fichier config.php résout le problème (Laravel 6). allez dans bootstrap/cache/config.php et supprimez le fichier. N'oubliez pas non plus de changer APP_URL en votre adresse de domaine. PHP version devrait être comme requis par laravel version.
pour l'hôte partagé si vous ne pouvez pas modifier php.ini, vous devez utiliser laravel 5.8.