skip to Main Content

I use cron job to do some CRUD operation using laravel Task Scheduling. On localhost and on my Share-Hosting server it worked fine for months until recently I keep getting this error when I run cron job on my Share-Hosting server. I did not make any changes to the code on my Share-Hosting server.

[2017-07-14 09:16:02] production.ERROR: exception 'SymfonyComponentProcessExceptionRuntimeException' 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:

But on localhost it works fine. Based on my finding online I have tried the following.

  1. Contacted my hosting company to remove proc_open form disable PHP functions.
  2. Hosting company provided custom php.ini file. I remove all disable_functions
  3. Share-Hosting Server was restarted and cache was cleared

None of this fixed the issue. I am not sure of what next to try because the same project works fine on different Share-Hosting Server.

6

Answers


  1. Chosen as BEST ANSWER

    After many weeks of trying to resolve this error. The following fixes worked

    1. Upgrade project from Laravel 5.2 to 5.4
    2. On CPanel using "Select Php version" set PHP version to 7
    3. Or on CPanel using "MultiPHP Manager" set PHP version to ea-php70

    Now, cron job runs smoothly. I hope this helps someone.


  2. For me removing cached version of config.php file solve problem(Laravel 6).
    go to bootstrap/cache/config.php and remove file.
    Also don’t forget to change APP_URL to your domain address. PHP version should be as required by laravel version.


    for shared host if you can’t change php.ini, you should use laravel 5.8.

    Login or Signup to reply.
  3. When Flare error reporting service enabled in debug mode you’ll see this error

    The solution is:

    Publish flare config file

    php artisan vendor:publish --tag=flare-config
    

    in 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,
    
    Login or Signup to reply.
  4. Laravel 6 and higher (proc_open Error)

    It is because of Flare error reporting service enabled in debug mode
    There is a workaround for this.

    Publish flare config file
    php artisan vendor:publish --tag=flare-config

    and in config/flare.php

    Set

    '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,
    ],
    
    Login or Signup to reply.
  5. You can use this at your own risk:

    /usr/local/bin/php -d "disable_functions=" /home/didappir/public_html/api/artisan schedule:run > /dev/null 2>&1 
    
    Login or Signup to reply.
  6. enter image description here

    if it is disabled you cannot run it

    use phpinfo() to find out if it’s disabled

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search