Ubuntu编译安装php+php-fpm

本文介绍如何通过手动下载源码、打补丁及配置参数来编译安装PHP-FPM,以解决使用apt-get安装时无法安装特定补丁的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用apt-get的方法安装php无法安装补丁php-fpm,所以只好尝试编译安装,

首先下载解压并打补丁

wget http://php-fpm.org/downloads/php-5.2.13-fpm-0.5.14.diff.gz

wget http://mirrors.sohu.com/php/php-5.2.13.tar.gz

tar zxvf php-5.2.13.tar.gz

gzip -cd php-5.2.13-fpm-0.5.14.diff.gz | patch -d php-5.2.13 -p1

编译的参数
./configure --prefix=/usr/local/php-fcgi --enable-fastcgi --enable-fpm --enable-discard-path \
--enable-force-cgi-redirect --with-config-file-path=/usr/local/php-fcgi/etc --with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir \
--with-gd --with-zlib --with-libxml-dir --with-curl --with-curlwrappers --with-openssl --with-mhash --with-xmlrpc \
--with-mcrypt --with-ldap --with-ldap-sasl --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode \
--enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-zend-vm=GOTO \
--enable-mbregex --enable-mbstring --enable-gd-native-ttf --enable-ftp --enable-pcntl --enable-sockets \
--enable-zip --disable-debug --enable-pdo --with-pdo-mysql=/usr/local/mysql --with-sqlite --with-pdo-sqlite \
--disable-ipv6

### 源码安装 PHP-FPM 7.3 的步骤 在 Ubuntu 20.04 上通过源码安装 PHP-FPM 7.3 可以提供更高的灵活性和对版本的控制。以下是详细的安装步骤: #### 安装依赖项 在开始之前,需要安装必要的依赖项,包括编译工具和 PHP 所需的库文件。 ```bash sudo apt update sudo apt install -y build-essential libxml2-dev libssl-dev libcurl4-openssl-dev \ libjpeg-dev libpng-dev libmysqlclient-dev libxslt1-dev zlib1g-dev \ libicu-dev python-software-properties ``` #### 下载 PHP 7.3 源码包 从 PHP 官方网站下载 PHP 7.3 的源码包,并解压进入目录。 ```bash cd /usr/local/src sudo wget https://www.php.net/distributions/php-7.3.33.tar.gz sudo tar -zxpf php-7.3.33.tar.gz cd php-7.3.33 ``` #### 配置编译选项 在编译之前,需要配置 PHP编译选项。以下是一个基本的配置示例,包含常用的扩展。 ```bash ./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --enable-mbstring \ --enable-xml \ --with-curl \ --with-gd \ --with-jpeg \ --with-png \ --with-mysql \ --with-mysqli \ --with-pdo-mysql \ --with-openssl \ --with-xsl \ --enable-intl \ --with-zlib ``` #### 编译安装 使用 `make` 命令编译源码,并将编译好的文件安装到指定目录。 ```bash make sudo make install ``` #### 配置 PHP-FPM 复制并编辑 PHP-FPM 的配置文件,确保配置符合当前环境的需求。 ```bash sudo cp /usr/local/src/php-7.3.33/sapi/fpm/php-fpm.conf.in /usr/local/php/etc/php-fpm.conf sudo cp /usr/local/src/php-7.3.33/php.ini-development /usr/local/php/etc/php.ini sudo cp /usr/local/src/php-7.3.33/sapi/fpm/www.conf /usr/local/php/etc/php-fpm.d/www.conf ``` 编辑 `/usr/local/php/etc/php-fpm.conf` 文件,确保 `include` 指向正确的目录。 ```bash sudo vim /usr/local/php/etc/php-fpm.conf ``` 在文件中添加或修改以下行: ```ini include=/usr/local/php/etc/php-fpm.d/*.conf ``` #### 设置 PHP-FPM 服务 为了方便管理 PHP-FPM,可以创建一个 systemd 服务文件。 ```bash sudo vim /etc/systemd/system/php-fpm.service ``` 在文件中添加以下内容: ```ini [Unit] Description=The PHP FastCGI Process Manager After=network.target [Service] Type=forking PIDFile=/usr/local/php/var/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm --fpm-config /usr/local/php/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID ExecStop=/bin/kill -SIGINT $MAINPID [Install] WantedBy=multi-user.target ``` #### 启动并启用 PHP-FPM 服务 启动 PHP-FPM 服务,并设置为开机自启动。 ```bash sudo systemctl daemon-reload sudo systemctl start php-fpm sudo systemctl enable php-fpm ``` #### 验证 PHP-FPM 状态 确保 PHP-FPM 服务正常运行。 ```bash sudo systemctl status php-fpm ``` #### 配置 Nginx 以使用 PHP-FPM 编辑 Nginx 的默认站点配置文件,确保 PHP 请求被正确传递给 PHP-FPM 处理。 ```bash sudo vim /etc/nginx/sites-available/default ``` 在配置文件中添加或修改以下内容: ```nginx location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; } ``` #### 重启 Nginx 服务 重启 Nginx 服务以应用新的配置。 ```bash sudo systemctl restart nginx ``` #### 验证 PHP-FPM 功能 创建一个简单的 PHP 测试文件,验证 PHP-FPM 是否正常工作。 ```bash sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php ``` 通过浏览器访问 `http://your_server_ip/info.php`,查看是否显示 PHP 的信息页面。 通过以上步骤,PHP-FPM 7.3 已经成功在 Ubuntu 20.04 上通过源码安装并配置完成[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值