Cloudlinux + CageFS + PHP Selector - how to update default php.ini for each PHP version?
My server runs Cloudlinux 5.11 with CageFS and PHP Selector. Default PHP version is 5.3.
I have one account using PHP 5.3, one account using PHP 5.5, and one account using PHP 5.6.
I'm trying to figure out how to update each account's php.ini or each PHP version's default php.ini.
So far I've figured out how to update PHP 5.3's default php.ini:
1. `phpinfo` on the PHP 5.3 account shows the loaded configuration file is from `/usr/selector.etc/php.ini`.
2. Update /usr/local/lib/php.ini
3. Run `cagefsctl --force-update`
4. Rebuild Apache
Then the modified `/usr/local/lib/php.ini` is reflected on the `phpinfo`.
However, for PHP 5.5. and 5.6 accounts, I can't figure out how to update their default php.ini's.
1. Their `phpinfo` shows the loaded configuration files are from `/opt/alt/php55/etc/php.ini` and `/opt/alt/php56/etc/php.ini`
2. Update those files
3. Run `cagefsctl --force-update`
4. Rebuild Apache
Afterwards, the changes of these php.ini's are reverted! So where is the right place to change these PHP versions' default php.ini's?
Being able to update each PHP version's default php.ini would work for me, but it would be even easier and more flexible if each domain account (or even each folder) can have its own php.ini.
I've tried `/public_html/php.ini` and `/public_html/.htaccess`. They don't take effect at all. `ini_set` in script works though, but of course I don't want to reply on just `ini_set`.
-
Hello :) Cloud Linux documents this at: CloudLinux Documentation Per the document: Default values, that are shown in PHP-Selector web interface, are taken from '/opt/alt/phpXX/usr/bin/php -i' runtime values, if directive is not there, it will use 'default' value that was set in php.conf . So, if you wish to change default value of any option for "alternative" php version, please modify /opt/alt/phpXX/etc/php.ini files (where XX = 55, 54, 53, etc according to php version).
Could you verify if the issue persists if you run the "cagefsctl --rebuild-alt-php-ini" command after editing the files? Also, as far as individual users, this is documented at: CloudLinux Documentation Thank you.0 -
After modifying /opt/alt/php55/etc/php.ini Running "cagefsctl --rebuild-alt-php-ini" WORKS!! Looks like the default PHP version and alternative versions have different php.ini update processes. To update an individual user's php.ini, do I go to "/etc/cl.php.d/alt-phpXX/alt_php.ini" ? And then run ""cagefsctl --rebuild-alt-php-ini" ? When I try to enter CageFs for a user, I got error: shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument chdir: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument Is it normal? I can still locate "/etc/cl.php.d/alt-phpXX/alt_php.ini" though. Thanks a lot!! 0 -
I am happy to see the issue is now resolved. Note you can view the "Individual PHP.ini files" section under "Configuration" in the document referenced in my earlier post. As far as the additional error messages, please open a new thread as that does not appear to be related to the original issue. Thank you. 0 -
Hello :) Cloud Linux documents this at: CloudLinux Documentation Per the document: Could you verify if the issue persists if you run the "cagefsctl --rebuild-alt-php-ini" command after editing the files? Also, as far as individual users, this is documented at: CloudLinux Documentation Thank you.
Michael, If the user directly edit the file located in /home/user/.cl.selector/alt_phpxx.cfg, the rebuild will then disregard the options that the administrator has allowed to be changed in php.conf It is true that user may not use the interface again, otherwise overwrites the .cfg, but if the user edit this file and another user or administrator run the rebuild command, the settings will be overwritten for that user. What you think about this? Would be a Security breach? I think is a validation would be needed and apply only what is in php.conf and disregard anything in the .cfg file? Thanks. Flavio DialHost from Brazil0 -
Could you provide a more specific example we can use to reproduce this issue? Ensure you review the "Notes" section of the following document: PHP Selector > Configuration > Substitute global php.ini for individual customer Thank you. 0 -
Michael, You can reproduce with the following steps: First: Save the settings on the interface to the desired settings and are also allowed by the php.conf Second: It will be created the directory /home/USER/.cl.selector/ with cfg file. Third: Edit the corresponding cfg file to version. vi /home/USER/.cl.selector/alt_phpxx.cfg Add such a function that was not allowed in php.conf like: disable_functions = ""; Fourth: Reduild the php.ini cagefsctl --rebuild-alt-php-ini You will notice that does not validate the function that is described in the .cfg file. I know if change again in the interface, the cfg file is modified. But you can change this config file and wait for rebuild. So the configuration it will be validated. Can you understand the steps? Thanks. 0 -
Could you open a ticket with Cloud Linux to report that concern? You can do so via: Cloud Linux Inc - Powered by Kayako Help Desk Software Thank you. 0
Please sign in to leave a comment.
Comments
7 comments