Difference between revisions of "PHP Software Collections"
(→Usage) |
|||
Line 47: | Line 47: | ||
Go to the php-scl panel on Server Manager and activate the version of php you desire for each Ibay, or if you need for the whole server. | Go to the php-scl panel on Server Manager and activate the version of php you desire for each Ibay, or if you need for the whole server. | ||
+ | ===Limitation=== | ||
+ | |||
+ | If you use scl_php56 or scl_php54 or scl_php55) for the whole server, You can add also specific values (MemoryLimit,UpMaxFileSize,PostMaxSize,MaxExecTime,AllowUrlfOpen) per Ibay (either by db command or by the contrib smeserver-webhosting) because apache is the handler of php. | ||
+ | |||
+ | If you use php56,php55,php54 per ibay, then you use php with a cgi application and you cannot add specific setting to apache with php_admin_flag or php_admin_value. Then if you want to add a specific setting like above you must use it for the whole php applications by the command you can find in [[PHP_Software_Collections#Usage]] | ||
+ | |||
+ | It is the limitation of php-scl | ||
+ | |||
+ | In short | ||
+ | |||
+ | * PHP SCL for the whole server -> all settings can be set per Ibay normally with db or with smeserver-webhosting | ||
+ | * PHP SCL per Ibay -> all settings must be set in each php{54,55,56} properties like in [[PHP_Software_Collections#Usage]] | ||
===Usage=== | ===Usage=== | ||
When you want to change the version of php, you can use the panel (Php-Scl versions), either for changing the php version for an Ibay or for the whole server. | When you want to change the version of php, you can use the panel (Php-Scl versions), either for changing the php version for an Ibay or for the whole server. |
Revision as of 21:42, 11 March 2016
Is this article helpful to you?
Please consider donating or volunteering
Thank you!
PHP Software Collections for SME Server
Maintainer
stephdl Stéphane de Labrusse AKA Stephdl
Version
Description
The purpose of the contribs is to install PHP54,PHP55,PHP56 beside the default php without remove it. We take rpms from the remi repository but in fact it is the same than the official web site, except than you will have more choices.
All PHP rpms are installed in /opt, you won't have interferences with default PHP.
Requirements
Installation
Remember to first configure the required stephdl and the remi repositorie, then issue the following command on the SME Server shell:
db yum_repositories set stephdl repository \ BaseURL http://mirror.de-labrusse.fr/smeserver/\$releasever \ EnableGroups no GPGCheck yes \ Name "Mirror de Labrusse" \ GPGKey http://mirror.de-labrusse.fr/RPM-GPG-KEY \ Visible yes status disabled /sbin/e-smith/db yum_repositories set remi repository \ Name 'Remi - EL6' \ BaseURL 'http://rpms.famillecollet.com/enterprise/6/remi/$basearch/' \ EnableGroups no \ GPGCheck yes \ GPGKey http://rpms.famillecollet.com/RPM-GPG-KEY-remi \ Visible yes \ Exclude mysql*,php-* \ status disabled
signal-event yum-modify
Then Issue the command line
yum install smeserver-php-scl --enablerepo=stephdl,remi
If you do not want to restart your server
signal-event php-update; config set UnsavedChanges no
or
signal-event post-upgrade; signal-event reboot
Go to the php-scl panel on Server Manager and activate the version of php you desire for each Ibay, or if you need for the whole server.
Limitation
If you use scl_php56 or scl_php54 or scl_php55) for the whole server, You can add also specific values (MemoryLimit,UpMaxFileSize,PostMaxSize,MaxExecTime,AllowUrlfOpen) per Ibay (either by db command or by the contrib smeserver-webhosting) because apache is the handler of php.
If you use php56,php55,php54 per ibay, then you use php with a cgi application and you cannot add specific setting to apache with php_admin_flag or php_admin_value. Then if you want to add a specific setting like above you must use it for the whole php applications by the command you can find in PHP_Software_Collections#Usage
It is the limitation of php-scl
In short
- PHP SCL for the whole server -> all settings can be set per Ibay normally with db or with smeserver-webhosting
- PHP SCL per Ibay -> all settings must be set in each php{54,55,56} properties like in PHP_Software_Collections#Usage
Usage
When you want to change the version of php, you can use the panel (Php-Scl versions), either for changing the php version for an Ibay or for the whole server.
However if you want to change settings of a specific php version you have to use the command line, first see the new db entries.
After each modification don't forget to launch the event 'signal-event php-update'
[root@sme9b3dev64 ~]# config show php54 php54=configuration AllowUrlFopen=Off #(On/Off) MaxExecutionTime=30 MaxFileUpload=20 MaxInputTime=60 MemoryLimit=128M PhpModule=disabled #(enabled/disabled) PostMaxSize=20M UploadMaxFilesize=10M
[root@sme9b3dev64 ~]# config show php55 php55=configuration AllowUrlFopen=Off #(On/Off) MaxExecutionTime=30 MaxFileUpload=20 MaxInputTime=60 MemoryLimit=128M PhpModule=disabled #(enabled/disabled) PostMaxSize=20M UploadMaxFilesize=10M
[root@sme9b3dev64 ~]# config show php56 php56=configuration AllowUrlFopen=Off #(On/Off) MaxExecutionTime=30 MaxFileUpload=20 MaxInputTime=60 MemoryLimit=128M PhpModule=disabled #(enabled/disabled) PostMaxSize=20M UploadMaxFilesize=10M
in fact you can choose manually (think about you have a panel for that) which version you want to use in the phpmod of apache (only one version can be used), for example
config setprop php56 PhpModule enabled signal-event php-update
Since just one version can be used with php-mod, the lower version is used....all disabled and it is the php default version which is used
Run a command with a specific software environment
You can run a command from the shell with a specific env with:
scl enable php55 'php -v'
(useful for example if you need to run a cron job with an alternative PHP version)
Find other RPMS
If you want to see available rpm
yum list available php5\* --disablerepo=* --enablerepo=remi
For example if you want to install the php rpm for pgsql
yum install php54-php-pgsql php55-php-pgsql php56-php-pgsql --enablerepo=remi
Uninstall
yum remove smeserver-php-scl
Bugs
Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-php-scl component or use this link .