• Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
  • Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

PHP 7.0.0 finally Released

Scheduled Pinned Locked Moved
Announcements
php 7.0.0
6
23
18.1k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T
    Tom Elliott
    last edited by Dec 3, 2015, 11:28 PM

    Hey all,

    Normally I make a proper news article to post in the announcement but I don’t think we should go that route for this particular bit of news.

    I’ve already tested FOG Trunk with PHP 7.0.0 RC8 and fixed the code base to be as operational as possible. Even better, due to all the other edits from about a year ago, I already had a good starting point. For example, not using mysql functions and what not. All I had to change was removing one line of code and all of a sudden everything starting working perfectly with it.

    I will say, PHP 7 is MUCH more memory efficient and a LOT faster. For example, on PHP 5.6.16 the dashboard page on a server that only had FOG installed on it would come in around 9M. Same principle with PHP 7.0 installed, the same page used 2M of memory. This means quite a lot. I also played with injected hosts and had 4k hosts. 5.6.16 would take about 6 - 7 seconds to start returning the page and about 16 - 18 seconds to fully render the page. With PHP 7.0 the same amount of hosts on the same system returns in about 3 seconds, and fully renders in about 12. While the timing for amount of data doesn’t seem all that significant the memory usage is MUCH better. 5.6.16 would come in around 168M, 7.0 Comes in at about 130M.

    I know this is nothing but gibberish, but believe me, if you can update, I would HIGHLY recommend it. One it would be nice to know of any problems I might have in the code, and two it would definitely help out those of you who have MANY MANY hosts in your setup.

    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

    Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

    Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

    1 Reply Last reply Reply Quote 3
    • W
      Wayne Workman
      last edited by Wayne Workman Dec 4, 2015, 7:51 AM Dec 4, 2015, 1:50 PM

      So I normally update fog with this command:
      dnf update -y;svn up;./installfog.sh -y

      How do I know that PHP 7 was installed? I didn’t see anything different done.

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
      Daily Clean Installation Results:
      https://fogtesting.fogproject.us/
      FOG Reporting:
      https://fog-external-reporting-results.fogproject.us/

      1 Reply Last reply Reply Quote 0
      • T
        Tom Elliott
        last edited by Dec 5, 2015, 12:26 AM

        Fedora 23 (maybe 22 but may need to change RPM to install)

        rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-23.rpm
        dnf config-manager --set-enabled remi-php70
        dnf -y update
        

        Fedora 22 Would most likely be:

        rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-22.rpm
        dnf config-manager --set-enabled remi-php70
        dnf -y update
        

        Install fog like you normally would.

        Ubuntu 15.10 (and Others I suppose) (as long as you’re running trunk)

        sudo sed -e 's/php5-.*[[:space:]]/php7\.0-\*/g' -e 's/php5/php7\.0/g' -i /opt/fog/.fogsettings
        sudo rm -rf /etc/apache2/mods-enabled/php5.load
        sudo apt-get -f purge libapache2-mod-php5 php5-fpm* php5*
        sudo add-apt-repository -y ppa:ondrej/php-7.0
        sudo apt-get update
        

        The fog installer for Ubuntu (possibly debian?) will not work either. All thanks to their excessive use of using the version as the enabling/disabling items.

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

        1 Reply Last reply Reply Quote 0
        • Q
          Quazz Moderator
          last edited by Feb 18, 2016, 4:02 PM

          Just wanted to mention that the code listed here for Ubuntu removes all packages from .fogsettings except apache and php7.0, it also incorrectly adds php7.0-*libapache2-mod-php7.0 (when it should be libapache2-mod-php7.0)

          1 Reply Last reply Reply Quote 0
          • J
            JJ Fullmer Testers
            last edited by Feb 18, 2016, 4:52 PM

            I just saw this post and decided “I Want!”
            Hopefully I don’t break anything…
            I have centos7 and I was about to follow these guides
            https://webtatic.com/packages/php70/
            http://tecadmin.net/install-php-7-on-centos/#

            But first I’m trying the centos version of @Tom-Elliott’s fedora instructions
            being

            rpm -Uvh  http://rpms.remirepo.net/enterprise/remi-release-7.rpm
            yum-config-manager --enable remi-php70
            yum -y update
            

            Will report back

            Have you tried the FogApi powershell module? It's pretty cool IMHO
            https://github.com/darksidemilk/FogApi
            https://fogapi.readthedocs.io/en/latest/
            https://www.powershellgallery.com/packages/FogApi
            https://forums.fogproject.org/topic/12026/powershell-api-module

            J 1 Reply Last reply Feb 18, 2016, 5:06 PM Reply Quote 0
            • J
              JJ Fullmer Testers @JJ Fullmer
              last edited by JJ Fullmer Feb 18, 2016, 11:07 AM Feb 18, 2016, 5:06 PM

              @Arrowhead-IT I ran

              rpm -Uvh  http://rpms.remirepo.net/enterprise/remi-release-7.rpm
              yum-config-manager --enable remi-php70
              yum -y update
              

              Then updated to the latest trunk

              I didn’t see it do anything different with php packages in the FOG install, certainly did in yum -y update though.
              Not sure how to tell which version of php that fog is using. I’m sure there’s a way but I don’t know it off the top of my head.
              I know that php 7 is indeed installed though

              php -v
              
              PHP 7.0.3 (cli) (built: Feb  3 2016 11:30:45) ( NTS )
              Copyright (c) 1997-2016 The PHP Group
              Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
              

              The dashboard certainly did load noticeably faster too.
              So I think that the above method did the trick.
              You may not even need to add the rpm, just enable remi-php70 with yum config mngr. It told me I already had the repo when I added it.

              Hope this helps someone else update too.

              Have you tried the FogApi powershell module? It's pretty cool IMHO
              https://github.com/darksidemilk/FogApi
              https://fogapi.readthedocs.io/en/latest/
              https://www.powershellgallery.com/packages/FogApi
              https://forums.fogproject.org/topic/12026/powershell-api-module

              W 1 Reply Last reply Feb 18, 2016, 6:10 PM Reply Quote 0
              • W
                Wayne Workman @JJ Fullmer
                last edited by Feb 18, 2016, 6:10 PM

                @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.

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                Daily Clean Installation Results:
                https://fogtesting.fogproject.us/
                FOG Reporting:
                https://fog-external-reporting-results.fogproject.us/

                1 Reply Last reply Reply Quote 0
                • Q
                  Quazz Moderator
                  last edited by Feb 19, 2016, 11:28 AM

                  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.

                  T 1 Reply Last reply Feb 19, 2016, 12:21 PM Reply Quote 0
                  • T
                    Tom Elliott @Quazz
                    last edited by Feb 19, 2016, 12:21 PM

                    @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.

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                    Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                    Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                    W 1 Reply Last reply Feb 19, 2016, 1:55 PM Reply Quote 0
                    • W
                      Wayne Workman @Tom Elliott
                      last edited by Feb 19, 2016, 1:55 PM

                      @Tom-Elliott said:

                      This is really why I say to play with Ubuntu.

                      That’s confusing.

                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                      Daily Clean Installation Results:
                      https://fogtesting.fogproject.us/
                      FOG Reporting:
                      https://fog-external-reporting-results.fogproject.us/

                      1 Reply Last reply Reply Quote 0
                      • d4rk3D
                        d4rk3
                        last edited by Feb 19, 2016, 7:12 PM

                        I’m running pure PHP 7.0 on four different Ubuntu Server 15.10 servers…let me know how I can help!

                        MRCURM 1 Reply Last reply Feb 19, 2016, 7:14 PM Reply Quote 0
                        • MRCURM
                          MRCUR Testers @d4rk3
                          last edited by Feb 19, 2016, 7:14 PM

                          @d4rk3 Are you running FOG on them?

                          d4rk3D 1 Reply Last reply Feb 19, 2016, 8:21 PM Reply Quote 0
                          • d4rk3D
                            d4rk3 @MRCUR
                            last edited by Feb 19, 2016, 8:21 PM

                            @MRCUR No…just hopes and dreams.

                            Of course I’m running FOG on them lol…two normal servers and two storage nodes.

                            Q 1 Reply Last reply Feb 22, 2016, 8:58 AM Reply Quote 1
                            • Q
                              Quazz Moderator @d4rk3
                              last edited by Feb 22, 2016, 8:58 AM

                              @d4rk3 Could you go through the steps on how to make it work?

                              1 Reply Last reply Reply Quote 0
                              • d4rk3D
                                d4rk3
                                last edited by d4rk3 Feb 22, 2016, 5:33 AM Feb 22, 2016, 11:13 AM

                                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 🙂

                                Q 1 Reply Last reply Feb 22, 2016, 12:12 PM Reply Quote 2
                                • T
                                  Tom Elliott
                                  last edited by Feb 22, 2016, 11:55 AM

                                  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}"
                                  

                                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                  Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                  Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                  Q 1 Reply Last reply Feb 22, 2016, 12:23 PM Reply Quote 2
                                  • Q
                                    Quazz Moderator @d4rk3
                                    last edited by Feb 22, 2016, 12:12 PM

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • Q
                                      Quazz Moderator @Tom Elliott
                                      last edited by Quazz Feb 22, 2016, 6:25 AM Feb 22, 2016, 12:23 PM

                                      @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.

                                      T 1 Reply Last reply Feb 22, 2016, 12:27 PM Reply Quote 0
                                      • T
                                        Tom Elliott @Quazz
                                        last edited by Feb 22, 2016, 12:27 PM

                                        @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"

                                        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                        Q 1 Reply Last reply Feb 22, 2016, 12:33 PM Reply Quote 0
                                        • Q
                                          Quazz Moderator @Tom Elliott
                                          last edited by Feb 22, 2016, 12:33 PM

                                          @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.

                                          1 Reply Last reply Reply Quote 0
                                          • 1
                                          • 2
                                          • 1 / 2
                                          • First post
                                            Last post

                                          205

                                          Online

                                          12.0k

                                          Users

                                          17.3k

                                          Topics

                                          155.2k

                                          Posts
                                          Copyright © 2012-2024 FOG Project