centos7.3 系統 安裝php7.1.2,我選擇編譯安裝php
用vagrant帳戶登陸,先安裝wget,再下載源碼mysql
# release後面的版本號可能須要調整,依賴libmcrypt-devel須要該源 sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm sudo yum install -y wget vim wget -O php-7.1.2.tar.gz http://cn2.php.net/get/php-7.1.2.tar.gz/from/this/mirror tar -xvf php-7.1.2.tar.gz
centos7 box默認是用minimal安裝的,因此有些依賴須要安裝nginx
sudo yum install -y libxml2-devel openssl-devel bzip2-devel curl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel libmcrypt-devel readline-devel libxslt-devel
configuresql
cd php-7.1.2 ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache sudo make sudo make install
配置文件json
sudo cp php.ini-development /etc/php.ini
把php的bin目錄加到path中vim
sudo vim /etc/profile.d/path.sh
在末尾加上centos
PATH=$PATH:/usr/local/php/bin export PATH
source /etc/profile # 查看安裝成功與否 php -v
顯示api
PHP 7.1.2 (cli) (built: Mar 26 2017 09:29:22) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies 就安裝成功了session
sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf sudo cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm sudo chmod +x /etc/init.d/php-fpm
增長到開機啓動php7
sudo chkconfig --add php-fpm chkconfig --list sudo service php-fpm start
應該啓動失敗,報錯
cannot get uid for user 'nginx' 修改 /usr/local/php/etc/php-fpm.d/www.conf中的
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = nginx group = nginx
參考 https://xdebug.org/docs/install
cd ~ wget https://xdebug.org/files/xdebug-2.5.1.tgz tar xvzf xdebug-2.5.1.tgz cd xdebug-2.5.1 sudo yum install autoconf phpize ./configure --enable-xdebug make sudo make install
輸出
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
sudo vim /etc/php.ini
末尾添加
zend_extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so xdebug.remote_enable=1 xdebug.remote_host= 10.0.2.2 xdebug.remote_port=9000 xdebug.max_nesting_level=200 xdebug.idekey="PHPSTORM" xdebug.remote_autostart = 1