源码编译安装PHP 7.3及部分拓展
准备源码编译安装```进入源码所在目录yum-yinstallgccgcc++libxml2-devellibicu-devel./configure–prefix=/usr/l
准备源码
编译安装
# 进入源码所在目录
yum -y install gcc gcc++ libxml2-devel libicu-devel
./configure --prefix=/usr/local/php7 --enable-fpm --enable-pcntl --enable-posix
make && make install
ln -s /usr/local/php7/bin/php /usr/local/bin/php
cp php.ini-development /usr/local/php7/lib/php.ini
ln -s /usr/local/php7/sbin/php-fpm /usr/local/sbin/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
安装MySQL拓展
# 进入PHP源码目录
cd mysqli/
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config --with-mysqli=/usr/bin/mysql_config
# 会报错 Please reinstall the mysql distribution
sudo yum install mysql-devel
# 再次重新执行
./configure --with-php-config=/usr/local/php7/bin/php-config --with-mysqli=/usr/bin/mysql_config
make && make install
# 此时会报错: ext/mysqlnd/mysql_float_to_double.h: No such file or directory
#在mysqli下的编辑mysqli_api.c文件:
vi mysqli_api.c
#搜索 float_to_double 关键字
将 mysql_float_to_double.h 替换成:/opt/docker/php-7.3.0/ext/mysqlnd/mysql_float_to_double.h 【取决于实际安装位置】
make && make install
# 结束
常见问题
- Failed to restart php-fpm.service: Unit not found.此报错常见于修改了php.ini之后想重启的情况
1.打开vi /lib/systemd/system/php-fpm.service文件,如果没有就重新新建一个
#/lib/systemd/system/php-fpm.service
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/sbin/php-fpm
ExecStop=/bin/pkill -9 php-fpm
PrivateTmp=true
[Install]
WantedBy=multi-user.target
添加完成以后保存,使用systemctl list-unit-files --type=service查看有没有php-fpm.service如果没有就是用systemctl daemon-reload重新加载,在使用以上命令查看
4.添加开机自启 systemctl enable php-fpm.service
参考资料
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~