Freescout/laravel queueing need some disabled_functions from php

Hello,

Happilly running HestiaCP 1.5.1 on Debian 11.

I have created a new website in order to run a piece of software called freescout which uses the php Laravel framework.

Unfortunately, it needs some php functions that are disabled by default in HestiaCP’s php.ini files and naturally, I get errors and stacktraces when trying to use it (when it tries to schedule an internal job that will send outgoing emails).

The functions required are pcntl_async_signals, pcntl_signal and pcntl_signal.

I’ve manually and globally removed these three from disabled_functions of /etc/php/7.4/{fpm,cli}/php.ini and successfully managed to fix my problem for the time being.

But I would like to ask if there is a way
a) to make it only for this specific website, not global
b) make it stick around after an upgrade, because I assume that it will be overridden in a future upgrade

Thanks,
Sot.

Make the use of a custom template

https://docs.hestiacp.com/admin_docs/web.html

Hello @eris, thank you very much for your reply.

I copied /usr/local/hestia/install/deb/templates/web/php-fpm/default.tpl to freescout.tpl (in the same path).

I added the extra setting required for freescout in the new template file
php_admin_value[disable_functions] = pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_unshare,

The new template wasn’t visible in the web control panel until I run “v-update-web-templates”. Maybe you could add a note in the documentation for this step too, please?

Cheers,
Sot.

1 Like

The folder you need to update is in:

/usr/local/hestia/data/templates/web/php-fpm/

It is also in the documentation. The /usr/local/hestia/install/deb/templates/web/php-fpm/ is used for package distributed default templates.

Also it probally smart to use:

freescout-PHP-x_y to set php as a fixed version

1 Like

@eris thank you very much for clarifying everything.

Using the new template, the new fpm pool config file has the values required, and solved the web based part of freescout’s problems.

Unfortunately, there is a cronjob that also needs to run “php artisan schedule:run”, but the cli php.ini version has not been altered, the functions are still listed in “disable_functions” there …

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.