一.简述:
默认情况下,yum方式也可以安装,但是可能会缺少一些插件。 arm系统和x86差异还是比较大的。特别是在国产系统上。 故:最好采用编译安装,定制需要安装的功能模块
二. 安装基础依赖包:
#yum install -y gcc gcc-c++ libxml2 libxml2-devel autoconf \
libjpeg libjpeg-devel libpng libpng-devel freetype \
freetype-devel zlib zlib-devel glibc glibc-devel \
glib2 glib2-devel
三.下载/安装源码包:
wget https://www.php.net/distributions/php-8.3.15.tar.gz
#tar fxvz php-8.3.14.tar.gz
#cd
#./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc/php \
--enable-fpm \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg \
--with-freetype \
--enable-mbstring \
--enable-zip \
--enable-bcmath \
--with-openssl \
--with-iconv-dir \
--with-bz2 \
--with-zip \
--wide-gd \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
#make && sudo make install
#cp php.ini-production /usr/local/php/etc/php-fpm.conf
#cp php.ini-production /etc/php/php.ini
#cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
#cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
启动服务: /etc/init.d/php-fpm start
四. 配置systemctl:
#vim /etc/systemd/system/php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/usr/local/var/run/php-fpm.pid
ExecStart=/usr/local/sbin/php-fpm --nodaemonize --fpm-config /usr/local/etc/php-fpm.conf
ExecStop=/usr/local/php/sbin/php-fpm stop
[Install]
WantedBy=multi-user.target
附: 编译报错及解决方式:
error: invalid 'asm': invalid operand prefix '%c'
__asm__ goto(
^
详情:
原因及解决方式:
#报错说明,编译器支持__asm__ goto但是不支持%c这个新特性。
那么,我们可以在执行完php-src的./configure脚本之后,在main/php_config.h文件的#define HAVE_ASM_GOTO 1后面加上#undef HAVE_ASM_GOTO。
483

被折叠的 条评论
为什么被折叠?



