操作系统:Ubuntu18.04 编译需要安装的系统软件:pkg-config、libxml2、libxml2-dev、libsqlite3-dev gd库扩展需要软件:libpng-dev freestyle扩展需求(gd库要用)(FreeType 是一个免费提供的用于渲染字体的软件库):libfreestyle6-dev curl扩展:curl、libcurl4-openssl-dev或libcurl4-nss-dev(openssl和nss都能提供密码库,在SSL Version处查看)
PHP-Apache
首先你要已安装Apache:Ubuntu 源码编译安装apache
- 编译PHP作为Apache的模块运行
cd 源码根目录
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--with-gd --with-freetype-dir \
--enable-mbstring \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-curl
make
make install
–enable-:多为php自己的扩展。 –with-:多为外部扩展或程序
- 放置php.ini文件(默认路径:/usr/local/lib)
cp php.ini-development /usr/local/lib/php.ini
- 检查 httpd.conf 文件是否调用 PHP 模块(编译PHP就是生成apache的php的module的过程,官方建议检查一下是否调用)
PHP 8 版本:LoadModule php_module modules/libphp.so PHP 7 版本:LoadModule php7_module modules/libphp7.so - 告知 Apache 将特定的扩展名文件使用 PHP解析(我添加在了httpd.conf最后面)
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
PHP-Nginx
首先你要已安装Nginx:Ubuntu 源码编译安装Nginx
- 编译安装php和php-fpm扩展
cd 源码根目录
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--with-gd --with-freetype-dir \
--enable-mbstring \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-curl \
--enable-fpm
make
make install
–enable-:多为php自己的扩展。 –with-:多为外部扩展或程序
- php-fpm启用
/usr/local/sbin/php-fpm
pkill php-fpm
- 配置文件默认路径
vi /usr/local/etc/php-fpm.conf
提示:php-fpm.conf最后一行可能错误,include=NONE/etc/php-fpm.d/*.conf 需要自行修改到正确路径(手动移除NONE/ )
参考链接: PHP官网:Unix 系统下的安装 PHP官网:FPM安装
|