编译并安装php7.4.10

如何 编译并安装php7.4.10 ?

参考官方文档:https://www.php.net/manual/zh/install.php

示例:ubuntu18.04+nginx1.18.0+php7.4.10

建议您访问 Nginx Wiki » 安装 页面以获取并在您的系统上安装 Nginx。参考ubuntu18.04安装nginx

下载php-7.4.10.tar.gz。
官方地址:https://www.php.net/downloads.php
天翼云盘:https://cloud.189.cn/t/U3qqaqMJV3ya (访问码:scp0)

将php-7.4.10.tar.gz上传到服务器。

获取并解压 PHP 源代码:
tar zxf php-7.4.10.tar.gz

下面以使用nginx为例,演示如何配置php7.4.10

先准备好编译环境

sudo apt-get install pkg-config
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libsodium-dev
sudo apt-get install libzip-dev
sudo apt-get install libpng-dev
sudo apt-get install libxml2-dev
sudo apt-get install libsqlite3-dev

配置并构建 PHP。在此步骤您可以使用很多选项自定义 PHP,例如启用某些扩展等。 运行 ./configure –help 命令来获得完整的可用选项清单。 在本示例中,我们仅进行包含 PHP-FPM 和 MySQL 支持的简单配置。

cd php-7.4.10/

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli --with-curl --enable-exif --with-mhash --with-sodium --with-openssl --with-pcre-jit --with-zip --enable-gd --with-iconv-dir=/usr/local --with-zlib --enable-ftp --enable-sockets --enable-pdo --with-pdo-mysql --with-xmlrpc --enable-fpm --enable-mbregex

如图,当出现了License和Thank you for using PHP,说明配置成功

编译
make

如图,当出现了Build complete,就说明编译成功!

安装
sudo make install

创建配置文件,并将其复制到正确的位置。
cp php.ini-development /usr/local/php/php/php.ini

需要着重提醒的是,如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。

将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。
打开 php.ini:
vim /usr/local/php/php/php.ini
定位到 cgi.fix_pathinfo= 并将其修改为如下所示:
cgi.fix_pathinfo=0

将php-fpm.conf.default的文件名修改为php-fpm.conf
cd /usr/local/php/etc/
mv php-fpm.conf.default php-fpm.conf

再将www.conf.default的文件名修改为www.conf
cd /usr/local/php/etc/php-fpm.d
mv www.conf.default www.conf

修改php-fpm.conf 配置文件
注释掉 user = nobody 和 group = nobody

然后启动php-fpm服务
/usr/local/php/sbin/php-fpm -R

配置 Nginx 使其支持 PHP 应用:
修改默认的 location 块,使其支持 .php 文件:

location / {
    index  index.php index.html index.htm;
}

下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:

location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

指定root目录
root /usr/share/nginx/html;

完整配置如上图所示

重新加载nginx
sudo /etc/init.d/nginx check-reload

删除原主页文件
rm /usr/local/nginx/html/index.html

创建测试文件。
echo "<?php phpinfo(); ?>" >>/usr/share/nginx/html/index.php

打开浏览器,访问 http://$YourHost,将会显示 phpinfo() 。

以上就是 编译并安装php7.4.10 的全部过程了

issue

Q:访问http://$YourHost时显示 403 forbidden
A:在确保你已经按照上面的操作正确配置的前提下,请检查nginx配置文件default.conf中的server_name是否与其他的冲突。

Q:更改固定链接后查看文章显示404
A:参考https://blog.csdn.net/esonbest1234/article/details/50729150


已发布

分类

作者:

标签

评论

《“编译并安装php7.4.10”》 有 2 条评论

  1. […] ubuntu18.04安装nginx 编译并安装php7.4.10 […]

  2. zz 的头像
    zz

    perfect! 😎

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注