PHP 7.0.0 finally Released
-
@Arrowhead-IT said:
The dashboard certainly did load noticeably faster too.
There are large improvements in efficiency, I understand. It’s one of the best reasons to move to 7. Of course there are likely security and functionality improvements as well.
-
On ubuntu (after manually setting up the packages for php7.0 in .fogsettings) the install script fails at backing up database.
Also, there is no php7.0-mysqlnd yet as far as I know, so using version 5 for now.
-
@Quazz This is really why I say to play with Ubuntu.
I’ve added code to the installer to help with ubuntu when I can figure out what’s going on and needed for PHP 7 to work. One of the dependencies I’ve noticed is not used as a service, which is php-fpm.
I can install php7.0-fpm, but there is not a service file associated with it.
This is why the instructions I gave in this posting: https://forums.fogproject.org/topic/6285/php-7-0-0-finally-released/2# was not really saying you SHOULD use php 7.0 on debian/ubuntu as I don’t know what info to call out and what not to call out.
I have tried installing php 7.0 on Ubuntu 15.10 and Debian 8 but I have not had any luck on getting it to work.
-
-
I’m running pure PHP 7.0 on four different Ubuntu Server 15.10 servers…let me know how I can help!
-
@d4rk3 Are you running FOG on them?
-
@MRCUR No…just hopes and dreams.
Of course I’m running FOG on them lol…two normal servers and two storage nodes.
-
@d4rk3 Could you go through the steps on how to make it work?
-
Update (don’t install yet) to the latest trunk via Git or SVN, then…
Edit /opt/fog/.fogsettings (or just comment out this line):
packages=''
Purge everything php5:
sudo service apache2 stop sudo apt-get purge -y php5 php5-common php5-json php5-gd php5-cli php5-curl php5-mysqlnd php5-fpm php5-mcrypt php5-readline libapache2-mod-php5 sudo rm -rf /etc/apt/sources.list.d/ondrej-ubuntu-php5-5_6-wily.list sudo rm -rf /etc/apache2/mods-enabled/php5.conf sudo rm -rf /etc/apache2/mods-enabled/php5.load
Install php7.0:
sudo add-apt-repository -y ppa:ondrej/php-7.0 sudo apt-get update sudo apt-get install -y libapache2-mod-php7.0 php7.0 php7.0-phpdbg php7.0-readline php7.0-cgi libphp7.0-embed php7.0-cli php7.0-common php7.0-curl php7.0-fpm php7.0-json php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-gd php php-cli php-common php-curl php-gd php-mcrypt php-mysql php-readline
Edit /lib/ubuntu/config.sh (lines 19-23, 81, delete line 82):
php_ver=7.0 php_verAdds="-7.0" repo="php${php_verAdds}" [[ $php_ver != 7.0 ]] && phpcmd="php" || phpcmd="php" [[ $php_ver != 7.0 ]] && phpfpm="php-fpm${php_ver}" || phpfpm="php7.0-fpm" [[ $php_ver != 7.0 ]] && phpini="/etc/$phpcmd/$php_ver/apache2/php.ini" || phpini="/etc/$phpcmd/$php_ver/apache2/php.ini"
That’s it then install the current trunk that you already updated to and the install should finish without errors.
If I had to guess I’d imagine that my work on config.sh could be simplified or improved but this always works and I don’t ever have to worry about php5 trying to re-install via .fogsettings.
Please feel free to use any/all of these steps as any of you please. I’m no expert on php but I can’t see any reason why the latest FOG shouldn’t be pure php7.0.
Feedback is always welcome
-
I’ve modified the installer a bit to allow for this.
If you want to give this a shot, yes you will have to first remove all of the existing php5 stuff.
I do it simpler with:
apt-get purge -y php* lib*php
However you do it is up to you.
I’ve made it so you can actually just add the info to your /opt/fog/.fogsettings (of course remove the packages as described as well.
Instead of modifying the core installer information add these lines to your .fogsettings file – before the packages line:
php_ver="7.0" php_verAdds="-7.0" repo="php-${php_ver}"
-
This post is deleted! -
@Tom-Elliott This works, except it looks for php.ini in /etc/php/apache2/php.ini rather than /etc/php/apache2/7.0/php.ini (which causes the install to fail)
Have to admit I’m not a fan of how they decided to change basic structures like that.
-
@Quazz that doesn’t make any sense.
The path found should be
/etc/php/7.0/apache2/php.ini
or/etc/php5/apache2/php.ini
I don’t quite understand why yours is backwards.
The line that handles this in lib/ubuntu/config.php is 81.
Here’s what I have it set as:
[[ $php_ver != 5 ]] && phpini="/etc/$phpcmd/$php_ver/apache2/php.ini" || phpini="/etc/$phpcmd/apache2/php.ini"
-
@Tom-Elliott Thanks for the help, looks like the updating to the newest version didn’t properly merge the config file so it still had php_ver set to 7.0 which would produce the results I experienced.
I can confirm that it works now.
-
Awesome! I’m glad this is helping people update to php7.0…the performance increase is very worth it!
-
Latest svn update causes install to fail at php7.0-mbstring (as it does not exist), which is rather confusing as I can’t find that package in the ubuntu install script or anywhere else for that matter.
-
@Quazz it’s new. I don’t know why, but they separated it, (they being ubuntu/debian maybe?).