1.在PHP官网下载PHP的源码包官网下载地址
2.解压并进入文件夹中
tar -zxvfg php-7.1.13
3.安装命令
./configure
--prefix=/usr/local/php #安装地址
--with-config-file-path=/etc #配置文件
--enable-inline-optimization #开启功能
--disable-debug #关闭debug
--disable-rpath
--enable-shared
--enable-opcache
--enable-fpm #运行php-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
--without-sqlite3
--without-pdo-sqlite
--with-pear
--enable-maintainer-zts# pthreads的前置包
--enable-dtrace #静态探针
--with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd #gd库安装
集成命令如下:
./configure --prefix=/usr/local/php --with-config-file-path=/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 --enable-dtrace --enable-maintainer-zts --with-bz2 --with-readline --without-sqlite3 --without-pdo-sqlite --with-pear
安装过程中可能会出现依赖问题,可能出现的依赖问题如下[可以先运行依赖安装]:
yum install gcc #安装gcc
yum install libxml2-devel #安装lib
yum install openssl openssl-devel #安装openssl
yum install bzip2 bzip2-devel #安装bzip
yum -y install curl-devel #安装curl
yum install libmcrypt #安装libmcrypt 相关信息
yum install libmcrypt-devel
yum install mcrypt
yum install mhash
yum install readline-devel #安装readline
yum install systemtap-sdt-devel #静态指针前置包
如果没有找到对应的源码需要扩展yum源
yum install epel-release
#yum install epel-release
yum update
4.编译安装
make && make install
安装完后 会提示对应的安装地址
对应的php安装地址
/usr/loacl/php/bin 配置系统变量
5.配置php-fpm
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf #生成配置文件
6.启动
/usr/local/php/sbin/php-fpm #可能会报php-fpm.d的错误
cd /usr/local/php/etc/php-fpm.d
cp www.conf.default www.conf #文件中的用户和组都是www最好新建一个www用户
7.没有php.ini
如果安装过后没有对应的php.ini
/usr/local/php/bin/php --ini //查看ini的对应目录
搜索php.ini相关配置
find / -name php.ini*
复制一份开发配置到对应的php ini目录
--with-config-file-path=/etc (这里指定的目录是etc)
8.PHP扩展安装
建议在php对应的安装目录运行安装,或者把
PHP相关命令配置到系统中具体如下
vi /etc/profile
添加
PATH=$PATH:/(对应php的安装运行目录[bin])
export PATH
source /etc/profile 配置生效
echo $PATH 查看
/usr/local/php/bin
eg: pecl install msgpack
如果没有报错,那么恭喜你,安装成功.如果有报错,示例如下:
PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/msgpack.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/msgpack.so: cannot open shared object file: No such file or directory in Unknown on line 0
对应安装的扩展没有在php.ini的扩展目录中
find / -name msgpack.so //新安装的扩展(复制到对应php扩展目录)
/usr/local/lib/php/extensions/no-debug-non-zts-20160303/msgpack.so //系统pecl安装的默认扩展目录
/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/msgpack.so //php.ini系统扩展目录
这里有线性安全和非线性安全的问题,它会自动生成两个扩展目录,具体使用什么参照你使用的线性安全即可.
9.其他扩展安装
a.mongodb
pecl install mongodb (如果无法连接或者报版本限制,解决如下)
下载mongodb的压缩包运行安装命令[pecl也可以安装压缩包哟]
pecl install mongodb-1.13.14.tgz
10.PHP的启动
a.一般的办法
/usr/local/php/sbin/php-fpm (start|stop|reload) #比较老的版本
ps aux | grep php-fpm
kill 15891 # 对应的master进程ID
b.可以开启php-fpm.pid
系统对应的pid记录地址/usr/local/php/var/run/php-fpm.pid
kill `cat /usr/local/php/var/run/php-fpm.pid`
c.使用基础命令杀死进程
pkill php-fpm
d.PHP启动
/usr/local/php/sbin/php-fpm #找到你PHP对应的安装目录
11.其他
a.php版本信息不一致[浏览器版本信息php.7.2和CLI模式的版本信息php.5.4]
初步判断是系统php命令冲突
$PATH 查看php命令是否在环境变量中
php -v #查看环境变量中的版本信息
/usr/local/php/bin/php -v #查看php安装目录的版本信息
如果两个版本不一样可以选择你想要的版本,这里选择最新的
type php #查看php的系统目录
把最新版本的/usr/local/php/bin/php复制到 type php的目录中
12.待续...