First recommend an article PHP 7 release Date Arrived:will developers adopt PHP 7? -PHP Classes Blog.
Inside said whether will go to use PHP7, personally, I do not hesitate to use, but the production environment is not my decision, so can only own in their own development environment update PHP version. So, what about you?
The author is using Linux openSUSE42.1 distribution, yast inside there is no PHP7 installation package, so you can only manually compile the installation. As a PHP developer, I am very want to be able to learn to compile and install PHP7, tried a few times before, but each installation must surf the Internet to find all kinds of information, so, the installation after the successful want to install their own process and the problems encountered to record, convenient to consult and share to the needs of the people.
Download source and Unzip
To get to the point, to compile and install PHP7, first of course to download the PHP7 source. You can go to GitHub on clone, also can go to PHP website download. Extract to the/USR/LOCAL/SRC directory after downloading and rename the directory to PHP7. Enter the directory.
Configuring compilation parameters
Build configuration file
./buildconf
Configuration
./configure \--prefix=/usr/local/php7 \--exec-prefix=/usr/local/php7 \--bindir=/usr/local/php7/bin \--SBINDIR=/USR /local/php7/sbin \--includedir=/usr/local/php7/include \--libdir=/usr/local/php7/lib/php \--mandir=/usr/local/ Php7/php/man \--with-config-file-path=/usr/local/php7/etc \--with-mysql-sock=/var/run/mysql/mysql.sock \-- With-mcrypt=/usr/include \--with-mhash \--with-openssl \--with-mysqli=shared,mysqlnd \--with-pdo-mysql=shared, MYSQLND \--with-gd \--with-iconv \--with-zlib \--enable-zip \--enable-inline-optimization \--disable-debug \--disab Le-rpath \--enable-shared \--enable-xml \--enable-bcmath \--enable-shmop \--enable-sysvsem \--enable-mbregex \--ena
ble-mbstring \--enable-ftp \--enable-gd-native-ttf \--enable-pcntl \--enable-sockets \--with-xmlrpc \--enable-soap \ --without-pear \--with-gettext \--enable-session \--with-curl \--with-jpeg-dir \--with-freetype-dir \--ENABLE-OPCAC He \--enable-fpm \--disable-cgi \--with-fpm-user=nginx \--with-fpm-group=nginx \--without-gdbm \--disable-fileinfo
Parameter description
root directory of prefix PHP7 installation
With-config-file-path PHP7 configuration file directory
The results of the above configuration command are shown in the following illustration:
There are some missing hints that are encountered during the execution of the above command, and the following list of dependencies I have encountered:
Error:
Configure:error:xml2-config not found. Please check your LIBXML2 installation.
Solve:
Zypper Install Libxml2-devel
Error:
Configure:WARNING:unrecognized Options:--with-mysql
Solve:
Cancel this option, this option is not present
Error:
Configure:error:jpeglib.h not found.
Solve:
Zypper Install Libjpeg-devel
Error:
Configure:error:mcrypt.h not found. Please reinstall Libmcrypt.
Solve:
Zypper Install Libmcrypt-devel
Error:
Checking for Recode support ... yes
Configure:error:Can not find recode.h anywhere under/usr/usr/local/usr/opt.
Solve:
Zypper Install Librecode-devel
In general, when the configuration of the encounter did not open YaST search, if there are some words on the installation, and then recompile see also need those, if the yast can not find, then the Internet to find Google.
Compiling and installing PHP7
Make && make install
In which you can choose make test. Just an optional step, do not do not know what the problem, but the author has not met for the time being.
View the PHP7 directory after a successful installation
After compiling the installation successfully, view the PHP7 installation directory ' LS/USR/LOCAL/PHP7 ':
Set up a PHP7 configuration file
Cp/usr/local/src/php7/php.ini-production/usr/local/php7/etc/php.ini
cp/usr/local/src/sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm
Cp/usr/local/php7/etc/php-fpm.conf.default/usr/local/php7/etc/php-fpm.conf
Cp/usr/local/php7/etc/php-fpm.d/www.conf.default/usr/local/php7/etc/php-fpm.d/www.conf
Setting environment variables
On the last line of the/etc/profile file, add
Export Path=/usr/local/php7/bin:/usr/local/php7/sbin: $PATH
Then execute the Source/etc/profile
Set up the PHP log directory and the PHP-FPM process file (php-fpm.sock) directory
Mkdir-p/var/log/php-fpm/&& mkdir-p/var/run/php-fpm && cd/var/run/&& chown-r nginx:nginx ph p-fpm
Set PHP to boot
chmod +x/etc/init.d/php-fpm
Chkconfig PHP-FPM on
You can use the Chkconfig command to view the Startup services list.
Start the PHP service
Service PHP-FPM Start
Through PS aux | grep ' php ' to see if PHP started successfully
At this point, PHP7 installed successfully, you also began to use PHP7 Bar!
The above mentioned to everyone in the openSUSE42.1 to compile and install the PHP7 method, I hope you like.