- 1. 获取php软件
- 2. 解压配置PHP
- 3. 编译PHP
- 4. 安装PHP
- 5. 创建软连接
- 6. 拷贝php的配置文件
- 7. 启动PHP服务(fastCGI)
- 8. PHP安装命令参数总结
- 编译安装PHP7.4.20版本脚本
- 编译错误解决方法
make clean
- https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz">No package ‘oniguruma’ found错误
#解决方法:
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz - 64位的系统一定要标识 —libdir=/lib64 否则还是不行
make && make install
1. 获取php软件
搜狐镜像站提供了php各种版本,网址是http://mirrors.sohu.com/php/ ,我们本次要下载
的PHP版本是5.5.26
下载php命令:wget http://mirrors.sohu.com/php/php-5.5.26.tar.gz
2. 解压配置PHP
执行如下命令解压并配置PHP软件:
tar xf php-5.5.26.tar.gz
cd php-5.5.26
./configure \
—prefix=/app/php5.5.26 \
—with-mysql=/app/mysql/ \
—with-pdo-mysql=mysqlnd \
—with-iconv-dir=/usr/local/libiconv \
—with-freetype-dir \
—with-jpeg-dir \
—with-png-dir \
—with-zlib \
—with-libxml-dir \
—enable-xml \
—disable-rpath \
—enable-bcmath \
—enable-shmop \
—enable-sysvsem \
—enable-inline-optimization \
—with-curl \
—enable-mbregex \
—enable-fpm \
—enable-mbstring \
—with-mcrypt \
—with-gd \
—enable-gd-native-ttf \
—with-openssl \
—with-mhash \
—enable-pcntl \
—enable-sockets \
—with-xmlrpc \
—enable-soap \
—enable-short-tags \
—enable-static \
—with-xsl \
—with-fpm-user=nginx \
—with-fpm-group=nginx \
—enable-ftp \
—enable-opcache=no
特别强调:上述每行结尾的换行符反斜线(\)之后不能再有任何字符包括空格。
执行上述命令后,最后的正确输出提示如下图所示。
对于上面的命令,部分参数说明如下:
- —prefix=/app/php.5.5.26 :表示指定PHP的安装路径为/app/php.5.5.26
- —with-mysql=/app/mysql :表示需要指定mysql的安装路径,安装PHP需要mysql的相关内容。当然,如果没有MySQL软件包,也可以不单独安装,这样的情况可使用
—with-mysql=mysqld替代—with-mysql=/app/mysql,因为PHP里已经自带了连接MySQL的客户端工具。
□ —with-fpm-user=nginx : nginx表示指定PHP-FPM进程管理的用户为Nginx,此处最好和
Nginx服务用户统一。
□ —with-fpm-group=nginx : nginx表示指定PHP-FPM进程管理的用户组为Nginx,此处最好和
Nginx服务用户组统一。
- –enable-fpm :表示激活PHP-FPM方式服务,即FastCGI方式运行PHP服务。
- 还可以通过执行./configure —help命令来查看以上各个参数的用途。
- 以上配置中的”\”反斜线表示换一行输入。
3. 编译PHP
正确执行前文配置PHP软件的./configure系列命令后,就可以编译PHP软件了,具体操作
过程如下。
[root@web01 php-5.5.32]# ln -s /app/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@web01 php-5.5.32]# touch ext/phar/phar.phar
[root@web01 php-5.5.32]# make
编译成功的标志:
Build complete.
Don’t forget to run ‘make test’.
4. 安装PHP
[root@web01 php-5.5.26]#make install
5. 创建软连接
ln -s /app/php5.5.26/ /app/php
6. 拷贝php的配置文件
[root@web01 php-5.5.32]# cp php.ini-production /app/php/lib/php.ini
[root@web01 php-5.5.32]# cd /app/php/etc/
[root@web01 etc]# cp php-fpm.conf.default php-fpm.conf
[root@web01 etc]# sed -i 's@;pid@pid@' /app/php/etc/php-fpm.conf
7. 启动PHP服务(fastCGI)
[root@web01 etc]# /app/php/sbin/php-fpm
[root@web01 etc]# lsof -i :9000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 17134 root 7u IPv4 126725 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 17135 nginx 0u IPv4 126725 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 17136 nginx 0u IPv4 126725 0t0 TCP localhost:cslistener (LISTEN)
8. PHP安装命令参数总结
1.配置PHP./configure --prefix=/app/php5.5.26 --with-mysql=/app/mysql/ --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --enable-opcache=no
2、创建Link文件并touch一个phar.phar文件
ln -s /app/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
3、编译make
4、编译安装
make install
5、创建软连接ln -s /app/php5.5.26/ /app/php
6、拷贝配置文件cd /app/php/etc/
cp php-fpm.conf.default php-fpm.conf
7、启动PHP服务/app/php/sbin/php-fpm
8、检查启动结果lsof -i :9000
编译安装PHP7.4.20版本脚本
#!/bin/bash
yum install openldap openldap-devel zlib-devel libjpeg-turbo-devel libcurl-devel -y
yum -y install gcc gcc-c++ make autoconf bzip2 bzip2-devel libpng libpng-devel freetype-devel gmp-devel readline-devel curl-devel libxml2-devel libjpeg-devel bison openssl-devel uw-imap-devel libc-client sqlite-devel libicu-devel libedit-devel libxslt-devel oniguruma oniguruma-devel gd-devel libwebp-devel
cp -frp /usr/lib64/libldap* /usr/lib/
#安装依赖包
wget https://www.php.net/distributions/php-7.4.20.tar.gz &&\
tar xf php-7.4.20.tar.gz &&\
cd php-7.4.20 &&\
./configure --prefix=/app/php-7.4.20 --with-config-file-path=/app/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-zlib --with-libxml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-ftp --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --with-gettext --disable-fileinfo --enable-opcache=no --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm --enable-short-tags --enable-static --with-xsl --enable-gd --with-freetype --with-jpeg --with-webp --with-xpm &&\
make && make install &&\
ln -s /app/php-7.4.20 /app/php &&\
#ln -s -f phar.phar /app/php-7.4.20/bin/phar
#./build/shtool install -c ext/phar/phar.phar /app/php-7.4.20/bin/phar.phar
cp php.ini-production /app/php-7.4.20/etc/php.ini
cp /app/php/etc/php-fpm.conf.default /app/php/etc/php-fpm.conf &&\
sed -i 's@;pid@pid@g' /app/php/etc/php-fpm.conf
cp /app/php/etc/php-fpm.d/www.conf.default /app/php/etc/php-fpm.d/www.conf
编译错误解决方法
configure: error: Cannot find ldap libraries in /usr/lib
解决方法:cp -frp /usr/lib64/libldap* /usr/lib/
make clean
No package ‘oniguruma’ found错误
#解决方法:
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
tar -xvf oniguruma-6.9.4.tar.gz
cd oniguruma-6.9.4/
./autogen.sh
./configure --prefix=/usr --libdir=/lib64