阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Debian 9 下编译安装PHP及配置

134次阅读
没有评论

共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。

一、准备工作

1.1 更新系统安装包列表

没啥,就他喵想用个最新的。

# apt update

1.2 必须软件包

下面都是编译 php 必须的,提前安装好。

# apt install gcc make
# apt install libxml2 libxml2-dev    //xml 库

1.2 创建需要使用的目录

创建目录 source 和 web,分别用来放源码和编译后的文件。

# mkdir /source/
# mkdir /web/

二、安装 php

2.1 安装 php

[官方网站] http://php.net/

命令流程:

# cd /source/
# wget http://www.php.net/distributions/php-7.1.10.tar.gz
# tar -zxf php-7.1.10.tar.gz
# cd php-7.1.10
# ./configure –prefix=/web/php –with-config-file-path=/web/php/etc –enable-fpm –with-mysqli –with-pdo-mysql
# make && make install

 –with-config-file-path #配置文件所在目录

–enable-fpm      // 启用 php-fpm 模块(推荐)
–enable-mbstring // 启用 mbstring 模块(推荐)。多字节字符串,让 php 支持支持 ISO-8859-*, EUC-JP, UTF- 8 之外编码的语言

–with-mysqli    // 打开 mysqli 模块
–with-pdo-mysql  //pdo_mysql 模块

三、安装 php 扩展(可选)

 上面的方法是将所以扩展都编译在一起。这里是单独编译出来,然后通过 php.ini 文件,自由度更高。

/source/php-7.1.10/ext 你会看到很多的文件夹。需要什么扩展就进入哪个文件夹,运行如下命令。

# /web/php/bin/phpize
# ./configure –with-php-config=/web/php/bin/php-config
# make && make install

安装必须

# apt install autoconf              //php 扩展编译需要

phpredis 扩展

[官方网站] http://pecl.php.net/package/redis

命令流程:

# cd /source/
# wget http://pecl.php.net/get/redis-3.1.4.tgz
# tar -zxf redis-3.1.4.tgz
# cd redis-3.1.4
# /web/php/bin/phpize
# ./configure –with-php-config=/web/php/bin/php-config
# make && make install

openssl 扩展

命令流程:

# cd /source/php-7.1.10/ext/openssl
# cp config0.m4 config.m4
# ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib
# /web/php/bin/phpize
# ./configure –with-php-config=/web/php/bin/php-config
# make && make install

gd 扩展

命令流程:

# apt install libpng-dev
# apt install libfreetype6 libfreetype6-dev
# cd /source/php-7.1.10/ext/gd
# /web/php/bin/phpize
# ./configure –with-php-config=/web/php/bin/php-config –with-freetype-dir
# make && make install

–with-freetype-dir      // 打开 gd 库对 freetype 字体库的支持。

四、配置 php-fpm

4.1 copy 默认配置文件

# cd /source/php-7.1.10
# cp php.ini-development /web/php/etc/php.ini

# cd /web/php/etc
# cp php-fpm.conf.default php-fpm.conf

# cd /web/php/etc/php-fpm.d/
# cp www.conf.default www.conf

复制代码

4.2 修改 php-fpm.conf

说明:为了可以使用信号命令。

找到以下字段
;pid = run/php-fpm.pid

修改成
pid = run/php-fpm.pid

保存

复制代码

4.3 修改 www.conf

# groupadd web
# useradd -g web nginx -M -s /sbin/nologin

找到以下字段
user = nobody
group = nobody

修改成
user = nginx
group = www

保存

复制代码

附、常用命令

php-fpm 常用命令

# /web/php/sbin/php-fpm -c /web/php/etc/php.ini  // 启动 php-fpm
# kill -SIGUSR2 `cat /web/php/var/run/php-fpm.pid` // 重启 php-fpm
# kill -SIGINT `cat /web/php/var/run/php-fpm.pid`  // 关闭 php-fpm

信号解释:

SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有 worker 进程并重新载入配置和二进制模块

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2275字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中