Koozali.org: home of the SME Server
Obsolete Releases => SME Server 8.x => Topic started by: Philippe MARTY on February 08, 2014, 07:55:47 AM
-
Hello,
My SME server 8 is bundled with php 5.3.3
How can I upgrade to a more recent version of php, like 5.4 or 5.5?
Is there any doc around here ? (can't find with google or this forum searches)
Thanks for your help
-
Hi
upgrading PHP and/or Mysql can break your server..
you can follow any centos 5.x howto as long as you use rpms to do the upgrade..
if something will break, you are on your own.. ;-)
-
Philippe MARTY
Search forums on webtatic.
There were some instructions posted that should give you sufficient idea.
You will most likely have problems at upgrade time, so plan a strategy to downgrade php to standard before you do a general upgrade of your server, & then upgrade php again after any major server upgrade.
It's easy enough to do, but you may run into unforseeable problems with dependency issues where various contribs or other packages require a certain php version/name to be installed.
-
Well, to be more prudent, I'd stay with 5.3 version.
But I need to upgrade at least to 5.3.10 as I work a lot with Joomla.
My sme server is a webserver for developing purpose.
But next Joomla version (3.3) will require at least php 5.3.10 (see here: http://developer.joomla.org/news/577-planning-for-joomla-3-3.html)
So is there a easy and safe way to upgrade to this "minor release" of php, from the 5.3.3?
Thanks for your help
-
Hi,
I'm in the same situation as Philippe: I am a user of Joomla,
and I would like to know if there a possibility of at least pass php to Version 5.3.10 on a SME8.1.
Is there someone who has an idea to do this?
thanks
Laurent
-
Looks promising: http://forums.contribs.org/index.php/topic,50585.0.html
Post by user wdepot
Be aware you are leaving your system open to future trouble if/when any updates are applied..
Do all at your own risk as it may break your server.
-
Going to SME9 is a really heavy upgrade.
I just need to upgrade php minor version from 5.3.3 to 5.3.28, the last known 5.3.x version...
And I rather like to stay on SME 8.1
I hope that kind of upgrade is not too risky for other contribs?
Does anyone have the clue? How to to that?
Thanks for your help
-
you've been already told you can follow any Centos5 howto to upgrade your php.. but you must be aware that you could break something..
create a virtual test machine, clone (http://wiki.contribs.org/Backup_server_config#Cloning_a_server_for_Test_purposes.2C_using_inclusion_.26_exclusion_files) your server and do some tests
-
Thanks Stefano for the link to "clone server", I didn't know this procedure.
I'm going to test this.
Thanks a lot
-
of course all what i'm saying will not be done directly on your product server.
reading a bit on how to upgrade easily php for sme9, i'm wondering if you can try for sme8 with the same manner : remi collet
http://wiki.contribs.org/Remi#Remi-php55_EL6
of course you should adapt because here it is for sme9 : replace 6->5
http://wiki.contribs.org/Epel
after that
yum install php --enablerepo=epel,remi-php55
the biggest issue i know with upgraded php is when the package is renamed to php55 for example. Here remi has kept the name of php. Obviously it is also possible that it breaks your test server.
Please report here your attempts.
-
Hello,
For beginning my tests, I've installed a fresh sme server 8.1
I've tried to update php following these steps :
/sbin/e-smith/db yum_repositories set remi-php55 repository \
Name 'Remi-php55 - EL5' \
BaseURL 'http://rpms.famillecollet.com/enterprise/5/php55/$basearch/' \
EnableGroups no \
GPGCheck yes \
GPGKey http://rpms.famillecollet.com/RPM-GPG-KEY-remi \
Visible no \
status disabled
then
/sbin/e-smith/db yum_repositories set epel repository \
Name 'Epel - EL5' \
BaseUrl 'http://download.fedoraproject.org/pub/epel/5/$basearch' \
MirrorList 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL \
Visible no \
status disabled
then
signal-event yum-modify
and finally
yum update php --enablerepo=epel,remi-php55
But here's the answer of the server...
No Packages marked for Update
What did I miss (as the noob I am...)?
Thanks :)
-
signal-event yum-modify
and finally
yum update php --enablerepo=epel,remi-php55
At a guess because you do not have a package called remi-php currently installed
-
?
remi-php55 is one of the repositories' names!
-
Sorry, misread your yum line..
-
Na, not that either...
-
yum install rather than upgrade perhaps?
-
In other words, is there a way to force update of php package?
-
did you try
yum install php --enablerepo=epel,remi-php55
?
-
yes, same answer from my server. I even tried to remove and install via
yum erase php
and
yum install php --enablerepo=epel,remi-php55
but my now my php instance is dead :(
I'm going to reinstall a fresh instance of the server...
-
yum erase php
will likely uninstall many packages.. did you read which?
-
but my now my php instance is dead :(
I'm going to reinstall a fresh instance of the server...
i don't know if you are working with virtualisation but you can make a full clone of your sme8.1 before to play and thus use the clone instead of the Master.
my Tip of 2c
-
it works for me except that i forget to add the 'remi' repository, but after that i have another problem that you can follow on remi forum
http://forums.famillecollet.com/viewtopic.php?pid=6841#p6841
-
in fact you need to use only the 'remi' repository. I didn't try with sme8
This provides PHP54(5.4.27-1) but with the upgrade of mysql in the same time. I do not test beyond that because i'm away of my build server. Need test but i'm not sure that the upgrade of mysql is a good idea.
For PHP55 i need the return of remi.
[root@sme9 ~]# yum --enablerepo=remi install php
Loaded plugins: fastestmirror, smeserver
Loading mirror speeds from cached hostfile
* base: miroir.univ-paris13.fr
* smeaddons: mirror.chiropratique.org
* smeextras: mirror.chiropratique.org
* smeos: mirror.chiropratique.org
* smeupdates: mirror.chiropratique.org
* updates: ftp.rezopole.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php.i686 0:5.3.3-27.el6_5 will be updated
---> Package php.i686 0:5.4.27-1.el6.remi will be an update
--> Processing Dependency: php-common(x86-32) = 5.4.27-1.el6.remi for package: php-5.4.27-1.el6.remi.i686
--> Processing Dependency: php-cli(x86-32) = 5.4.27-1.el6.remi for package: php-5.4.27-1.el6.remi.i686
--> Running transaction check
---> Package php-cli.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-cli.i686 0:5.4.27-1.el6.remi will be an update
---> Package php-common.i686 0:5.3.3-27.el6_5 will be updated
--> Processing Dependency: php-common(x86-32) = 5.3.3-27.el6_5 for package: php-mysql-5.3.3-27.el6_5.i686
--> Processing Dependency: php-common(x86-32) = 5.3.3-27.el6_5 for package: php-imap-5.3.3-27.el6_5.i686
--> Processing Dependency: php-common(x86-32) = 5.3.3-27.el6_5 for package: php-process-5.3.3-27.el6_5.i686
--> Processing Dependency: php-common(x86-32) = 5.3.3-27.el6_5 for package: php-gd-5.3.3-27.el6_5.i686
--> Processing Dependency: php-common(x86-32) = 5.3.3-27.el6_5 for package: php-pdo-5.3.3-27.el6_5.i686
--> Processing Dependency: php-common(x86-32) = 5.3.3-27.el6_5 for package: php-xml-5.3.3-27.el6_5.i686
--> Processing Dependency: php-common(x86-32) = 5.3.3-27.el6_5 for package: php-mbstring-5.3.3-27.el6_5.i686
--> Processing Dependency: php-common(x86-32) = 5.3.3-27.el6_5 for package: php-ldap-5.3.3-27.el6_5.i686
---> Package php-common.i686 0:5.4.27-1.el6.remi will be an update
--> Running transaction check
---> Package php-gd.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-gd.i686 0:5.4.27-1.el6.remi will be an update
--> Processing Dependency: libt1.so.5 for package: php-gd-5.4.27-1.el6.remi.i686
---> Package php-imap.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-imap.i686 0:5.4.27-1.el6.remi will be an update
---> Package php-ldap.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-ldap.i686 0:5.4.27-1.el6.remi will be an update
---> Package php-mbstring.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-mbstring.i686 0:5.4.27-1.el6.remi will be an update
---> Package php-mysql.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-mysql.i686 0:5.4.27-1.el6.remi will be an update
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18) for package: php-mysql-5.4.27-1.el6.remi.i686
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16) for package: php-mysql-5.4.27-1.el6.remi.i686
--> Processing Dependency: libmysqlclient.so.18 for package: php-mysql-5.4.27-1.el6.remi.i686
---> Package php-pdo.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-pdo.i686 0:5.4.27-1.el6.remi will be an update
---> Package php-process.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-process.i686 0:5.4.27-1.el6.remi will be an update
---> Package php-xml.i686 0:5.3.3-27.el6_5 will be updated
---> Package php-xml.i686 0:5.4.27-1.el6.remi will be an update
--> Running transaction check
---> Package mysql-libs.i686 0:5.1.73-3.el6_5 will be updated
--> Processing Dependency: libmysqlclient.so.16 for package: perl-DBD-MySQL-4.022-1.el6.rfx.i686
--> Processing Dependency: libmysqlclient.so.16 for package: mysql-5.1.73-3.el6_5.i686
--> Processing Dependency: libmysqlclient.so.16 for package: mysql-server-5.1.73-3.el6_5.i686
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: mysql-server-5.1.73-3.el6_5.i686
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: mysql-5.1.73-3.el6_5.i686
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: perl-DBD-MySQL-4.022-1.el6.rfx.i686
--> Processing Dependency: libmysqlclient_r.so.16 for package: mysql-5.1.73-3.el6_5.i686
--> Processing Dependency: libmysqlclient_r.so.16 for package: mysql-server-5.1.73-3.el6_5.i686
--> Processing Dependency: libmysqlclient_r.so.16(libmysqlclient_16) for package: mysql-5.1.73-3.el6_5.i686
--> Processing Dependency: libmysqlclient_r.so.16(libmysqlclient_16) for package: mysql-server-5.1.73-3.el6_5.i686
--> Processing Dependency: mysql-libs = 5.1.73-3.el6_5 for package: mysql-5.1.73-3.el6_5.i686
---> Package mysql-libs.i686 0:5.5.37-1.el6.remi will be an update
---> Package t1lib.i686 0:5.1.2-6.el6_2.1 will be installed
--> Running transaction check
---> Package compat-mysql51.i686 0:5.1.54-1.el6.remi will be installed
---> Package mysql.i686 0:5.1.73-3.el6_5 will be updated
---> Package mysql.i686 0:5.5.37-1.el6.remi will be an update
---> Package mysql-server.i686 0:5.1.73-3.el6_5 will be updated
---> Package mysql-server.i686 0:5.5.37-1.el6.remi will be an update
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================
Updating:
php i686 5.4.27-1.el6.remi remi 2.7 M
Installing for dependencies:
compat-mysql51 i686 5.1.54-1.el6.remi remi 1.4 M
t1lib i686 5.1.2-6.el6_2.1 base 152 k
Updating for dependencies:
mysql i686 5.5.37-1.el6.remi remi 5.8 M
mysql-libs i686 5.5.37-1.el6.remi remi 778 k
mysql-server i686 5.5.37-1.el6.remi remi 10 M
php-cli i686 5.4.27-1.el6.remi remi 2.7 M
php-common i686 5.4.27-1.el6.remi remi 936 k
php-gd i686 5.4.27-1.el6.remi remi 141 k
php-imap i686 5.4.27-1.el6.remi remi 77 k
php-ldap i686 5.4.27-1.el6.remi remi 59 k
php-mbstring i686 5.4.27-1.el6.remi remi 939 k
php-mysql i686 5.4.27-1.el6.remi remi 130 k
php-pdo i686 5.4.27-1.el6.remi remi 116 k
php-process i686 5.4.27-1.el6.remi remi 59 k
php-xml i686 5.4.27-1.el6.remi remi 165 k
Transaction Summary
==============================================================================================================================================
Install 2 Package(s)
Upgrade 14 Package(s)
Total download size: 26 M
Is this ok [y/N]: ^CExiting on user Command
-
well i found that it should work for php55 and no updates of mysql :)
yum --enablerepo=remi-php55,remi,epel update php\* --exclude=php-horde-Horde\*
-
for sme9 to upgrade php i have something that needs to be tested a bit more but it works...Of course all that is easy to do but experimental 8)
we add some repositories
Remi - EL6
/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 no \
Exclude php-horde-horde \
status disabled
Remi-php55_EL6
only for sme9
/sbin/e-smith/db yum_repositories set remi-php55 repository \
Name 'Remi-php55 - EL6' \
BaseURL 'http://rpms.famillecollet.com/enterprise/6/php55/$basearch/' \
EnableGroups no \
GPGCheck yes \
GPGKey http://rpms.famillecollet.com/RPM-GPG-KEY-remi \
Visible no \
Exclude php-horde-horde \
status disabled
EPEL For SME 9.x,
/sbin/e-smith/db yum_repositories set epel repository \
Name 'Epel - EL6' \
BaseUrl 'http://download.fedoraproject.org/pub/epel/6/$basearch' \
MirrorList 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL \
Visible no \
status disabled
After adding it to the database updating the configuration file is required:
signal-event yum-modify
then after that we need to upgrade php from remi and epel
yum --enablerepo=remi-php55,remi,epel update php\*
the only issue i have is an obsolete option given in the php.ini, but it is just as a log noise, that needs more search on how to avoid it (eg a custom template)
###ERROR####
Directive 'allow_call_time_pass_reference' is no longer available in PHP at Unknown#0
it is something well known about php upgrade of php53
after that the contribs of smeserver-phpmyadmin is broken because phpMyAdmin3 needs php53 as dependency but we can install phpMyAdmin (4.1.14) from 'remi'. However we need to install a modified smeserver-phpmyadmin which comes from 'stephdl_repo'
we add stephdl repo
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
signal-event yum-modify
Now we install phpmyadmin
yum install --enablerepo=stephdl,remi,remi-php55 smeserver-phpmyadmin phpMyAdmin
signal-event post-upgrade ;signal-event reboot
I'm able to add a database in order to install owncloud, no errors in logs....but the issue I can see with this method is the large number of packages that we need to install from exterior repositories. When you will want to upgrade you have to use this command line with names of packages else you can have unwanted upgrade like mysql.
yum update --enablerepo=stephdl,remi,remi-php55,epel smeserver-phpmyadmin phpMyAdmin php\*
The solution I could see will be to import all these packages in a repository but it could be hard to maintain.
-
Hello stephdl,
Thanks a lot for all that tests. I've tried to reproduce but it's really too much job for my level. Too bad for me.
I need to have a easy-to-maintain server. With all these customizations, I'm afraid my server won't be stable enough for me to work with.
As I need to host several clients' websites during development period, I need to be confident on my server.
I'm afraid I have to look at another distribution :(
I'm really sad about that situation.
-
Philippe MARTY
Use whatever server you want, but modifying another distribution to work the way sme server does, will probably be more work that trying to update php on sme server.
Apart from that comment, you are bailing out just as sme 9 is about to be released (within the month or even a few weeks by the sounds of it), sme9 RC1 is quite stable, so possibly you should try using sme9RC1 now & look at how to update php on that underlying CentOS version. From all reports in these forums, bugzilla & mail lists etc, that will be much easier & the underlying system does allow to run other instances of packages eg php, that will not interfere with the base installed versions of packages eg php
Personally I think you should stay a while & give sme9 a good go & find out how to upgrade packages in sme9, it will probably be your easiest overall approach.
-
I'm afraid I have to look at another distribution :(
I'm really sad about that situation.
dont ask what your distro can do for you, but ask what you can do for your distro ;)
-
Hello stephdl,
Thanks a lot for all that tests. I've tried to reproduce but it's really too much job for my level. Too bad for me.
I need to have a easy-to-maintain server. With all these customizations, I'm afraid my server won't be stable enough for me to work with.
As I need to host several clients' websites during development period, I need to be confident on my server.
I'm afraid I have to look at another distribution :(
I'm really sad about that situation.
if you need to setup external repositories AND you don't use a GUI, this is the only way.. Centos/debian/ubuntu/whatever.. setting up external repos via cli needs to edit some config files..
in the end, are you saying you're not able to do so?
if you need "to host several clients' websites during development period", go with SME9..
I'm quite sure you will not find anything easier to maintain
-
Well, SME9 + customization (to upgrade php) seems quiet hard to maintain for me, now as I have less time for that sysadmin part.
In fact, my local network has grown, an appliance is installed for dhcp/firewall/route management and the use of sme server is limited to files storage, backup and web server.
So I've made some searches on the net and I found Synology NAS systems, which are philosophically far different from sme server... :( But close to my needs, right now.
-
are you telling us that with sinology you can upgrade php to a bleeding edge version in a easy way? really?
WOW..
mmmhh... wait a moment.. IIRC, synology have a php web interface, just like SME (for the web interface, not the php part..).. what about something wrong with php upgrading?..
in any case, it's up to you
-
synologie is a good product but expensive and moreover it is a nas design, so there is a light processor.