我的是CentOS7.6先安装依赖库,其他系统的自行百度安装命令
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel / libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs / e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers / libwebp libwebp-devel libXpm-deve httpd-devel libXpm-devel
yum安装libzip版本太老,卸载,然后手动下载安装1.2版,我提供的百度云分享文件中也有,自己想办法下载到自己服务器根目录把,自己注意目录
wget https://nih.at/libzip/libzip-1.2.0.tar.gz yum remove -y libzip tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install
安装之后,需要手动复制一个文件,下面命令二选一执行
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h ln -s /usr/local/lib/libzip/include/zipconf.h /usr/local/include
然后更新下目录,不要问为什么,我也不知道,照着操作就是了
# 添加搜索路径到配置文件
cat>>/etc/ld.so.conf<<EOF
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
EOF
最后回车
最后用下面命令看下是否更新
ldconfig -v
输出一下内容就是成功了
***** ***** /usr/lib/sse2: (hwcap: 0x0000000004000000) /usr/lib64/sse2: (hwcap: 0x0000000004000000) /usr/lib64/tls: (hwcap: 0x8000000000000000)
在编译安装php之后一定先安装apache,已经安装的跳过,没有安装的运行以下命令安装
yum -y install httpd
官网太慢了,我分享个百度云下载链接,自己想办法下载到自己服务器哈。我是用自己linode服务器下载后搬运回来分享到百度云的。
https://pan.baidu.com/s/12wgwSDHJpiWyv10clfBBcQ 提取码: 7ihd
[root@localhost ~]# wget -O php-7.3.18.tar.gz http://cn2.php.net/get/php-7.3.1.tar.gz/from/this/mirror [root@localhost ~]# tar zxf php-7.3.18.tar.gz [root@localhost ~]# cd php-7.3.18
新增用户组和用户
[root@localhost php-7.3.1]# groupadd www [root@localhost php-7.3.1]# useradd -g www www
生成 Makefile 文件,我反复测试过了,只要按照我的说明操作,生产Makefile文件不会出错的!!!
使用 Configure
脚本根据系统开发环境生成 Makefile
文件,其中 --with-fpm-user --with-fpm-group
分别指定了用户和用户组为 www
,而 --with-apxs2
指定 Apache
加载生成 libphp7.so
:其他就不一一说明了,/usr/local/php7.3.18/etc是我的安装路径,如果要改,自行变更就是。
./configure --prefix=/usr/local/php7.3.18 --with-config-file-path=/usr/local/php7.3.18/etc --with-fpm-user=www \ --with-fpm-group=www --with-apxs2 --bindir=/usr/local/bin --sbindir=/user/local/sbin --enable-fpm \ --with-libxml-dir --enable-debug --with-zlib --disable-rpath --enable-sysvsem --with-curl --enable-mbregex \ --enable-mbstring --enable-zip --enable-soap --with-pear --disable-tokenizer --enable-ftp --with-mysqli --with-pdo-mysql \ --with-openssl --with-bz2 --with-jpeg-dir --with-webp-dir --with-png-dir --with-xpm-dir --with-freetype-dir --with-mhash \ --with-iconv-dir --enable-gd-jis-conv --with-gd --enable-sockets --with-pcre-dir --enable-bcmath --enable-pdo
然后运行make命令编译,等待完成,编译完成之后,运行make install安装,
make make install
安装完成之后,复制配置文件到安装目录,注意查看自己的安装路径,自行改变自己的路径,不要搞错了,此时还在php解压目录哦,搞错目录运行复制命令肯定不行的哦
cp php.ini-production /usr/local/php7.3.18/etc/php.ini cp /usr/local/php7.3.18/etc/php-fpm.conf.default /usr/local/php7.3.18/etc/php-fpm.conf cp /usr/local/php7.3.18/etc/php-fpm.d/www.conf.default /usr/local/php7.3.18/etc/php-fpm.d/www.conf
把php-fpm.conf的路径添加软连接到环境变量/usr/local/bin中,以便可以运行命令service控制命令控制php-fpm
ln -s /usr/local/php7.3.18/etc/php-fpm.conf /usr/local/bin
添加开机启动
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on
在 IfModule dir_module 添加上 index.php
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
AddType application/x-gzip .gz .tgz 后面加上下面内容apache才会解析php文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
<IfModule mime_module> ... # AddType application/x-compress .Z AddType application/x-gzip .gz .tgz
// 新添加的
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
...
</IfModule>
大功告成了,然后自己在/var/www/html下新建一个index.php测试php是否正常运行了,关于httpd.conf的配置请自行百度,这个教程是教大家安装php的
[root@localhost php-7.3.1]# echo "<?php>phpinfo();?>" >/var/www/html/index.php