1.使用 wget 或 curl 命令下载php
2.使用 tar 命令解压php
3.进入解压目录 使用 ./configure --help 查看php的可配置项 (也可通过php官网查看,地址:https://www.php.net/manual/en/configure.about.php#configure.options.misc)
注意:--with- 开头的配置项是没有安装的配置,该参数表示安装此配置
--without- 开头的配置项是已经安装的配置,该参数表示卸载此配置
--enable- 该参数表示启用此配置
--disable- 该参数表示禁用此配置
4.configure
执行 configure 命令预编译php,此命令会生成makefile文件,用来配置你的安装选项
我的configure参数:
./configure --prefix=/usr/local/php --enable-fpm --with-openssl --enable-bcmath --with-curl --enable-ftp --enable-gd --enable-mbstring --enable-sockets --enable-pcntl --with-zlib --enable-mysqlnd --with-pdo-mysql=mysqlnd
注意:
在编译安装PHP时可能会出现因为缺少各种必要的库而报的错误,解决后重新执行一遍上面的命令即可
例如:Package 'oniguruma', required by 'virtual:world', not found 这个报错,此时可以通过yum -y install oniguruma oniguruma-devel 安装,也可以到GitHub仓库上找,找到后通过源码编译安装。
但该问题上述方法都不能解决,经过一番百度后得知:是centos的版本造成的
5.make
执行 make 命令编译php
6.make install
执行 make install 命令安装php
7.完成截图
8.添加 php.ini 文件
首先,这个时候在php的安装目录中是找不到php.ini文件的,需要到源码包中拷贝一份过来就可以了。
php.ini-development 和 php.ini-production 的区别:
php.ini-development和php.ini-production是系统推荐的php.ini设置参数,前者是为开发环境推荐的,允许调试、少占资源的原则,后者是为实际上线后的产品环境推荐的,禁止报错、提高性能的原则。
然后,执行以下命令查看php的php.ini应该放在哪里
最后,执行复制命令即可,这里我选择的是php.ini-development
也可以使用php --ini
来定位到php.ini
的绝对路径,Loaded Configuration File
一项显示的是加载的 php.ini 文件,如果值为none
证明根本没加载任何php.ini
文件,需要自己创建,也就是前面说到的拷贝。
查看全部已安装的扩展使用 php -m
查看某个扩展是否安装或安装详情使用 php --ri 扩展名
创建软连接
# ln -s /usr/local/php/bin/php /usr/local/bin/php
# ln -s /usr/local/php/sbin/php-fpm /usr/local/bin/php-fpm
这样就不用每次都输入路径了