Centos下安装PHP7
Linux版本
[root@localhost ~]# cat /etc/redhat-release CentOS release 6.7 (Final)
安装前置软件通过yum(复制直接运行就可以)
yum install -y \ autoconf \ bison \ curl-devel \ gcc \ git \ freetype\ freetype-devel \ libpng\ libpng-devel \ libxml2\ libxml2-devel \ libXpm\ libXpm-devel \ libmcrypt \ libmcrypt-devel \ mysql \ mysql-devel \ openssl \ openssl-devel \ recode \ recode-devel
下载PHP最新版本
https://downloads.php.net/~ab/
我们这里下载php-7.0.0RC5.tar.gz 这个
或者从git下载最新的版本
git clone -b PHP-7.0.0 https://github.com/php/php-src.git cd php-src ./buildconf --force ./configure \ --prefix=/usr/local/opt/phpng \ --with-config-file-path=/usr/local/etc/phpng \ --enable-bcmath \ --enable-calendar \ --enable-exif \ --enable-ftp \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --enable-mbstring \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-pcntl \ --enable-wddx \ --enable-zip \ --with-bz2=/usr \ --with-curl=/usr/lib64 \ --with-freetype-dir=/usr \ --with-gd \ --with-gettext=/usr \ --with-iconv \ --with-jpeg-dir=/usr \ --with-mcrypt \ --with-mysql=/usr \ --with-mysqli=/usr/bin/mysql_config \ --with-openssl \ --with-pdo-mysql=/usr \ --with-png-dir=/usr \ --with-recode=/usr \ --with-t1lib=/usr \ --with-xpm-dir=/usr \ --with-zlib-dir=/usr \ --with-zlib=/usr make -j`grep -c ^processor /proc/cpuinfo` && make install
环境变量添加进去
ln -s /usr/local/opt/phpng/bin/php /usr/local/bin
[root@localhost bin]# php -v PHP 7.0.0RC5 (cli) (built: Oct 21 2015 16:54:10) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
遇到的问题
安装依赖的库有时候需要重新安装(跟Centos版本有关系)
yum update yum install -y autoconf bison curl-devel gcc git freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel libXpm libXpm-devel libmcrypt libmcrypt-devel mysql mysql-devel openssl openssl-devel recode recode-devel yum install yum install bzip2-devel yum install bzip2-devel yum install libjpeg-devel yum install libmcrypt yum install libmcrypt libmcrypt-devel yum install php-mcrypt.x86_64 sudo yum update yum install libmcrypt libmcrypt-devel yum install mysql-server
其中centos6.6中libmcrypt需要更新源(这个自行搜索)
在安装的时候
--with-mysql=/usr \ --with-mysqli=/usr/bin/mysql_config \ --with-t1lib=/usr \
提示没有这个选项,应该是新的版本内置了如果遇到这个问题,你去掉这三个选项
下面补充下5.6的 基本上差不多 每个版本的php都要安装运行一下
官网的压缩文件 最小的格式是以tar.xz结束的 解压命令位
tar xvJf php-5.6.15.tar.xz
解压后进入目录
# cd /usr/local/src/php-5.6.0/ # ./configure \ --prefix=/usr/local/php56 \ --with-config-file-path=/usr/local/php56/etc \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-opcache \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-gettext \ --enable-mbstring \ --with-iconv \ --with-mcrypt \ --with-mhash \ --with-openssl \ --enable-bcmath \ --enable-soap \ --with-libxml-dir \ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-sockets \ --with-curl \ --with-zlib \ --enable-zip \ --with-bz2 \ --with-readline 参数说明 """ 安装路径 """ --prefix=/usr/local/php56 \ """ php.ini 配置文件路径 """ --with-config-file-path=/usr/local/php56/etc \ """ 优化选项 """ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ """ 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) """ --enable-opcache \ """ FPM """ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ """ MySQL """ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ """ 国际化与字符编码支持 """ --with-gettext \ --enable-mbstring \ --with-iconv \ """ 加密扩展 """ --with-mcrypt \ --with-mhash \ --with-openssl \ """ 数学扩展 """ --enable-bcmath \ """ Web 服务,soap 依赖 libxml """ --enable-soap \ --with-libxml-dir \ """ 进程,信号及内存 """ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ """ socket & curl """ --enable-sockets \ --with-curl \ """ 压缩与归档 """ --with-zlib \ --enable-zip \ --with-bz2 \ """ GNU Readline 命令行快捷键绑定 """ --with-readline
如果你的 Web Server 使用的 Apache 请添加类似:–with-apxs2=/usr/local/apache-xx/bin/apxs 参数。
关于 mysqlnd 请查看 什么是 PHP 的 MySQL Native 驱动? 或查看 MySQL 官方介绍:MySQL native driver for PHP, 或 Installation on Unix。
PHP 5.6 內建了 phpdbg 交互式调试器,通过 –enable-phpdbg 开启,会在 PREFIX/bin 目录下产生一个 phpdbg 命令,感兴趣的可以试一下。
更多编译参数请使用 ./configure –help 查看。
# make -j8 # make install
如果要重新安装
# make clean # make clean all # ./configure ... # make -j8 # make install
配置文件
# cp php.ini-development /usr/local/php56/etc/php.ini
php-fpm服务
# cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf # cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm56 # chmod +x /etc/init.d/php-fpm56
启动 php-fpm
# service php-fpm56 start Starting php-fpm done
php-fpm 可用参数 start|stop|force-quit|restart|reload|status
添加 PHP 命令到环境变量
编辑 ~/.bash_profile
,将:
PATH=$PATH:$HOME/bin 改为: PATH=$PATH:$HOME/bin:/usr/local/php56/bin
使 PHP 环境变量生效:
# . ~/.bash_profile
查看看 PHP 版本
# php -v PHP 5.6.0 (cli) (built: Sep 23 2014 03:44:18) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
PHP5.6的参考
http://blog.aboutc.net/linux/65/compile-and-install-php-on-linux
php官网