如何在centos8自定义目录安装php7.3
1.目录结构
源码目录:/home/werben/pkgsrc/php-7.3.11
安装目录:/home/werben/application/php7.3.11
2.下载php源码
# 官网地址:https://www.php.net/downloads.php
wget https://www.php.net/distributions/php-7.3.11.tar.bz2
3.解压源码
?1 | tar --bzip -xvf php-7.3.11.tar.bz2 php-7.3.11 |
4.安装编译工具和库
?1 2 | yum install -y gcc gcc-c++ yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel libicu-devel freetype-devel openldap-devel openldap openldap-devel |
5.配置编译参数
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #创建用户组和用户 groupadd www useradd -g www www #配置fpm的用户组和用户,以及安装其他扩展 ./configure --prefix=/home/werben/application/php7.3.11 \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --enable-mysqlnd-compression-support \ --with-iconv-dir \ --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-mbstring \ --enable-intl \ --with-mcrypt \ --with-libmbfl \ --enable-ftp \ --with-gd \ --enable-gd-jis-conv \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --with-gettext \ --disable-fileinfo \ --enable-opcache \ --with-pear \ --enable-maintainer-zts \ --with-ldap=shared \ --without-gdbm #上面的步骤可能会出现很多问题,如需要重新安装libzip,需要安装ldap,需要安装cmake #重新安装libzip需要安装cmake,这里记录一下cmake的安装步骤,其他问题自己百度解决了, #不记录了,中间自己去官网下了几个最新的cmake版本,编译过程中都出错了。 #发现宝塔用的是2.8.X的版本。这里我用的版本是3.5.2的版本 wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz tar xvf cmake-3.5.2.tar.gz cd cmake-3.5.2 ./bootstrap --prefix=/usr/local/cmake gmake gmake install cd /usr/local/cmake/bin ln -s /usr/local/cmake/bin/cmake /usr/bin/ cmake --version #接下来安装libzip wget https://libzip.org/download/libzip-1.5.2.tar.gz tar -zxf libzip-1.5.2.tar.gz cd libzip-1.5.2 mkdir build cd build cmake .. make -j4 make install |
6.安装make工具
?1 2 | #如果提示make命令找不到,则才需要安装make工具 yum -y install gcc automake autoconf libtool make |
7.编译安装
make && make install
8.映射全局命令
?1 2 | ln -s /home/werben/application/php7.3.11/sbin/* /usr/local/sbin/ ln -s /home/werben/application/php7.3.11/bin/* /usr/local/bin/ |
9.配置php.ini
?1 2 3 4 5 6 7 8 | #查看php.ini的位置 php -r "phpinfo();" | grep 'php.ini' #将源码中的php.ini*拷贝到php.ini的位置 cp /home/werben/pkgsrc/php-7.3.11/php.ini-* /home/werben/application/php7.3.11/lib/ #重命名php.ini文件 cp /home/werben/application/php7.3.11/lib/php.ini-production /home/werben/application/php7.3.11/lib/php.ini |
10.安装目录结构
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #/home/werben/pkgsrc/php-7.3.11安装目录的结构 ├── bin │ ├── pear │ ├── peardev │ ├── pecl │ ├── phar -> phar.phar │ ├── phar.phar │ ├── php │ ├── php-cgi │ ├── php-config │ ├── phpdbg │ └── phpize ├── etc │ ├── pear.conf │ ├── php-fpm.conf.default │ └── php-fpm.d ├── include │ └── php ├── lib │ ├── php │ ├── php.ini │ ├── php.ini-development │ └── php.ini-production ├── php │ ├── man │ └── php ├── sbin │ └── php-fpm └── var ├── log └── run |
ps:下面将展示如何将PHP与Nginx和Apache集成。
配置PHP以与Apache一起使用
如果你将Apache用作Web服务器,请使用以下命令重新启动httpd服务,可以使用:
$ sudo systemctl restart httpd
配置PHP以与Nginx一起使用
默认情况下,PHP FPM以用户apache的身份运行,为避免权限问题,我们将用户更改为nginx,为此,请编辑相关的行,即user = nginx和group = nginx:
?1 2 3 4 5 | $ sudo nano /etc/php-fpm.d/www.conf ... user = nginx .. group = nginx |
确保/var/lib/php目录具有正确的所有权:
$ chown -R root:nginx /var/lib/php
完成后,重新启动PHP FPM服务:
$ sudo systemctl restart php-fpm
接下来,编辑Nginx主机指令,并添加以下位置块,以便Nginx可以处理PHP文件:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | server { # . . . other code location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } |
为了使新配置生效,请重新启动Nginx服务:
$ sudo systemctl restart nginx
总结
以上所述是小编给大家介绍的如何在centos8自定义目录安装php7.3,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://www.cnblogs.com/werben/p/11833903.html
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。