很少在linux中操作,所以很多命令及软件安装方式很是不了解,导致使用过程中出现问题不知所措,正好目前项目要在linux环境中运行,特此记录下安装过程,供后期参考。
一、准备环境
1、下载安装文件 php-5.6.26.tar.gz下载地址
2、准备安装环境:
yum install -y libxml2 libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel
yum install gcc gcc-c++ #编译工具
二、安装
1、解压:将php-5.6.26.tar.gz解压到某一目录下,如/opt/web/soft中,执行命令:
tar -zxvf php-5.6.26.tar.gz
2、自定义配置:
进入刚才解压开的文件中,
cd/opt/web/soft/php-5.6.26
./configure --prefix=/usr/local/php5626 --with-config-file-path=/usr/local/php5626/etc --enable-fpm --with-fpm-user=php-fpm --with-
fpm-group=www --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-opcache --enable-
mbstring --enable-soap --enable-zip --enable-bcmath --with-openssl --with-zlib --with-curl --with-gd --with-zlib-dir=/usr/lib --
with-png-dir=/usr/lib --with-jpeg-dir=/usr/lib --with-mhash
如果配置成功,会有如上图所示提示(此图盗用)
三、编译、安装
1、make
2、make install
四、验证
执行命令 php -v
如果出现php版本及相关信息,则证明安装成功。
ps:如果执行php命令出现错误,提示 php:command not found,大部分是因为路径不对,请尝试如下操作:
进入/etc/profile中,更改环境变量,命令如下:
vi /etc/profile 进入文件,在最后加入export PATH=$PATH:/usr/local/php5626/bin
保存退出,esc键,移动到最后:wq
使文件生效:
source /etc/profile
执行echo $PATH 如果输出中包含php路径,及已生效
如果还不好使,则执行如下命令,进行软连接配置
ln -s /usr/local/php/bin/php /usr/bin/php
应该就好使了,祝好运.....
五、配置
安装后,要进行配置,方可正常使用。
1、将源码文件中的/php 5.6.26/php.ini-production 拷贝到 /usr/local/lib/中,并改名,命令如下:
mv /opt/soft/php 5.6.26/php.ini-production /etc/local/lib/php.ini
2、至此,还没结束,继续配置php-fpm,此功能已在2.2中配置了,声明--enable-fpm 即可开启,但是要做配置,系统已经生成默认配置文件,只需复制,重命名即可。
在 /usr/local/php5626/etc 中的php-fpm.conf.default 拷贝一份,重命名为 php-fpm.conf即可。命令如下:
cp /usr/local/php5626/etc/php-fpm.conf.default /usr/local/php5626/etc/php-fpm.conf
为了让php-fpm已服务的形式启动。我们需要复制php安装目录下/sapi/fpm/init.d.php-fpm文件。如下:
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
以很清楚的看到php-fpm文件目前没有执行权限。赋予php-fpm执行权限,并启动php-fpm,如下:
chmod a+x /etc/init.d/php-fpm
/etc/init.d/php-fpm start
netstat -tunlp |grep 9000
可以看到系统以正常启动。
六、配置参数说明
""" 安装路径"""
--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 开启php的fastcgi功能,即开启php-fpm功能
--with-fpm-user=www
--with-fpm-group=www
""" MySQL """
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
""" 国际化与字符编码支持"""
--with-gettext
--enable-mbstring 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