How I solved FreePBX 15 proc_open(/tmp/cron.error): failed to open stream: Permission Denied
Problem
While trying to apply the FreePBX configuration using the Web UI, you see the following error message.
There was an error during reload: Unknown Error. Please Run: fwconsole reload --verbose
Unknown Error. Please Run: fwconsole reload --verbose
When you try to fwconsole reload --verbose
, you see the following error message:
{"message":"Reload Started"}
In Cron.class.php line 281:
[Whoops\Exception\ErrorException (2)]
proc_open(/tmp/cron.error): failed to open stream: Keine Berechtigung
Exception trace:
() at /var/www/html/admin/libraries/BMO/Cron.class.php:281
Whoops\Run->handleError() at n/a:n/a
proc_open() at /var/www/html/admin/libraries/BMO/Cron.class.php:281
FreePBX\Cron->installCrontab() at /var/www/html/admin/libraries/BMO/Cron.class.php:162
FreePBX\Cron->remove() at /var/www/html/admin/libraries/BMO/Job.class.php:238
FreePBX\Job->init() at /var/www/html/admin/libraries/BMO/Job.class.php:91
FreePBX\Job->add() at /var/www/html/admin/libraries/BMO/Job.class.php:73
FreePBX\Job->addClass() at /var/www/html/admin/modules/dashboard/Dashboard.class.php:147
Dashboard->doDialplanHook() at /var/www/html/admin/libraries/BMO/DialplanHooks.class.php:107
FreePBX\DialplanHooks->processHooks() at /var/www/html/admin/libraries/Console/Reload.class.php:318
FreePBX\Console\Command\Reload->reload() at /var/www/html/admin/libraries/Console/Reload.class.php:91
FreePBX\Console\Command\Reload->execute() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Command/Command.php:255
Symfony\Component\Console\Command\Command->run() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:960
Symfony\Component\Console\Application->doRunCommand() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:255
Symfony\Component\Console\Application->doRun() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:148
Symfony\Component\Console\Application->run() at /data/var/lib/asterisk/bin/fwconsole:163
reload [--json] [--dry-run] [--skip-registry-checks] [--dont-reload-asterisk]
Solution
These steps worked for me (run in the same shell where you would run fwconsole reload
, as root
*):
fwconsole chown
rm /tmp/cron.error
chmod +s /usr/bin/crontab
chmod 777 /tmp
fwconsole chown
After that, you’ll be able to run fwconsole reload --verbose
again:
{"message":"Reload Started"}
{"message":"Reload Complete"}
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow