首页 运维 CentOS centos如何编译安装php-fpm

centos如何编译安装php-fpm

Aug 31, 2020 am 09:51 AM
centos php-fpm

centos编译安装php-fpm的方法:首先通过“yum install wget vim”安装依赖软件;然后安装php依赖;接着拷贝“php.ini-production”到编译时指定的配置文件目录;最后检查PHP版本即可。

centos如何编译安装php-fpm

推荐:《PHP视频教程

CentOS7下编译安装PHP5.4.45并编译php-fpm

系统环境

uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
date
Fri Feb 2 22:12:58 CST 2018
登录后复制

所需文件

源码

PHP : http://sg2.php.net/distributions/php-5.4.45.tar.gz

编译环境

gcc

依赖:cpp、glibc-devel、glibc-headers、kernel-headers、libmpc、mpfr

伴随升级:glibc、glibc-common、libgcc、libgomp

gcc-c++

依赖:libstdc++-devel

伴随升级:libstdc++

yum install gcc gcc-c++

依赖软件

yum install wget vim
登录后复制

wget用于下载,vim方便编辑文件

编译安装需要对应功能的头文件,头文件的获得方式有两个方式,一个是通过yum安装对应的devel包,里面就包含了编译过程中所需要文件;另外一种方式就是下载需要的源码包,并且解压缩,然后在configue中指定源文件位置即可。

开始安装

安装php依赖

这里使用yum进行安装,当然,也可以选择使用源码包。使用源码时,最好选择与yum相对应的版本,否则可能会不现兼容性问题。

源码下载位置:http://vault.centos.org/centos/7/os/Source/SPackages/

yum install libxml2-devel    #2.9.1
yum install openssl openssl-devel   #1.0.2k
yum install bzip2 bzip2-devel   #1.0.6
yum install curl curl-devel   #7.29.0
yum install libjpeg libjpeg-devel   #libjpeg-turbo-1.2.90
yum install libpng libpng-devel  #1.5.13
yum install libxslt libxslt-devel  #1.1.28
yum install freetype freetype-devel   #2.4.11
yum install gmp gmp-devel   #6.0.0
yum install icu libicu-devel   #50.1.2
yum install -y epel-release && yum install -y libmcrypt libmcrypt-devel   #2.5.8该包CentOS默认源中没有,所以使用epel的源
yum install unixODBC unixODBC-devel #2.3.1
登录后复制

下面这些会依赖安装,如不确定也可手动再安装一次

gettext   #0.18.2.1
zlib   #1.2.7
pcre   #8.32
libpng   #1.5.13
登录后复制

若使用源码方式,为保证功能完整性,需安装以下包:

yum install libxml2 openssl bzip2 curl libjpeg freetype gmp icu libicu libmcrypt unixODBC gettext zlib pcre libpng
登录后复制

安装php

php:

wget http://sg2.php.net/distributions/php-5.4.45.tar.gz
tar zxvf php-5.4.45.tar.gz
cd php-5.4.45
./configure \
--prefix=/opt/web_engine/php \
--with-config-file-path=/opt/web_engine/php/etc \
--with-gettext \
--with-gmp \
--with-mysql \
--with-openssl \
--with-pdo-mysql \
--with-bz2 \
--with-curl \
--with-mcrypt \
--with-mhash \
--with-freetype-dir \
--with-unixODBC=/usr/ \
--with-pdo-odbc=unixODBC,/usr/ \
--with-libxml-dir \
--with-zlib \
--with-pcre-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-xmlrpc \
--with-libxml-dir \
--with-xsl \
--enable-soap \
--enable-sysvmsg \
--enable-wddx \
--enable-zip \
--enable-exif \
--enable-intl \
--enable-bcmath \
--enable-calendar \
--enable-mbstring \
--enable-shmop \
--enable-fpm \
--enable-sockets
make && make install
Installing PHP CLI binary: /opt/web_engine/php/bin/
Installing PHP CLI man page: /opt/web_engine/php/php/man/man1/
Installing PHP FPM binary: /opt/web_engine/php/sbin/
Installing PHP FPM config: /opt/web_engine/php/etc/
Installing PHP FPM man page: /opt/web_engine/php/php/man/man8/
Installing PHP FPM status page: /opt/web_engine/php/php/fpm/
Installing PHP CGI binary: /opt/web_engine/php/bin/
Installing PHP CGI man page: /opt/web_engine/php/php/man/man1/
Installing build environment: /opt/web_engine/php/lib/php/build/
Installing header files: /opt/web_engine/php/include/php/
Installing helper programs: /opt/web_engine/php/bin/
program: phpize
program: php-config
Installing man pages: /opt/web_engine/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /opt/web_engine/php/lib/php/
[PEAR] Archive_Tar - installed: 1.3.12
[PEAR] Console_Getopt - installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.3
[PEAR] PEAR - installed: 1.9.5
Wrote PEAR system config file at: /opt/web_engine/php/etc/pear.conf
You may want to add: /opt/web_engine/php/lib/php to your php.ini include_path
/root/php-5.4.45/build/shtool install -c ext/phar/phar.phar /opt/web_engine/php/bin
ln -s -f /opt/web_engine/php/bin/phar.phar /opt/web_engine/php/bin/phar
Installing PDO headers: /opt/web_engine/php/include/php/ext/pdo/
登录后复制

后续工作

拷贝源码目录下的php.ini-production到编译时指定的配置文件目录

cp /root/php-5.4.45/php.ini-production /opt/web_engine/php/etc
cd /opt/web_engine/php/etc && cp php.ini-production php.ini
cd /opt/web_engine/php/etc && cp php-fpm.conf.default php-fpm.conf
登录后复制

另外,若有知定义php扩展,则安装扩展

检查PHP版本

/opt/web_engine/php/bin/php -v
PHP 5.4.45 (cli) (built: Feb 2 2018 15:44:07)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
登录后复制

查看详细信息

/opt/web_engine/php/bin/php -i

...

systemd配置

vim /usr/lib/systemd/system/php-fpm.service
 
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
 
[Service]
Type=simple
PIDFile=/opt/web_engine/php/var/run/php-fpm.pid
ExecStart=/opt/web_engine/php/sbin/php-fpm --nodaemonize --fpm-config /opt/web_engine/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPIDe
 
[Install]
WantedBy=multi-user.target
登录后复制

日志轮换

vim /etc/logrotate.d/php-fpm
/var/log/php-fpm/*.log {
    su root root
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    olddir /var/log/php-fpm/archive
    #create 640 nginx adm
    sharedscripts
    postrotate
        /bin/kill -SIGUSR1 `cat /opt/web_engine/php/var/run/php-fpm.pid 2>/dev/null` 2>/dev/null || true
    endscript
}
登录后复制

以上是centos如何编译安装php-fpm的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

centos怎么中文输入 centos怎么中文输入 Apr 07, 2024 pm 08:21 PM

CentOS 中使用中文输入的方法包括:使用 fcitx 输入法:安装并启用 fcitx,设置快捷键,按下快捷键切换输入法,输入拼音即可生成候选词。使用 iBus 输入法:安装并启用 iBus,设置快捷键,按下快捷键切换输入法,输入拼音即可生成候选词。

centos7怎么读取u盘文件 centos7怎么读取u盘文件 Apr 07, 2024 pm 08:18 PM

在 CentOS 7 中读取 U 盘文件,需要先连接 U 盘并确认其设备名称。然后,使用以下步骤读取文件:挂载 U 盘:mount /dev/sdb1 /media/sdb1(替换 "/dev/sdb1" 为实际设备名称)浏览 U 盘文件:ls /media/sdb1;cd /media/sdb1/目录;cat 文件名

centos7如何进入root权限 centos7如何进入root权限 Apr 02, 2024 pm 08:57 PM

进入 CentOS 7 的 root 权限有两种方法:使用 sudo 命令:终端输入 sudo su -,输入当前用户密码。直接登录 root 用户:登录屏幕选择 "Other",输入 "root" 和 root 密码。注意:在 root 权限下谨慎操作,以 sudo 权限执行任务,定期更改 root 密码。

SCP使用技巧-递归排除文件 SCP使用技巧-递归排除文件 Apr 22, 2024 am 09:04 AM

人们可以使用scp命令在网络主机之间安全地复制文件。它使用ssh进行数据传输和身份验证。典型的语法是:scpfile1user@host:/path/to/dest/scp-r/path/to/source/user@host:/path/to/dest/scp排除文件我不认为你可以在使用scp命令时过滤或排除文件。但是,有一个很好的解决方法来排除文件并使用ssh安全地复制它。本页面说明如何在使用scp递归复制目录时过滤或排除文件。如何使用rsync命令排除文件语法是:rsyncav-essh-

centos忘记密码登录怎么办 centos忘记密码登录怎么办 Apr 07, 2024 pm 07:33 PM

忘记 CentOS 密码的解决方案包括:单用户模式:进入单用户模式,使用 passwd root 重置密码。救援模式:使用 CentOS Live CD/USB 启动,挂载根分区并重置密码。远程访问:使用 SSH 远程连接,用 sudo passwd root 重置密码。

centos用户名密码忘了怎么办 centos用户名密码忘了怎么办 Apr 02, 2024 pm 08:54 PM

忘记 CentOS 用户名和密码后,有两种恢复访问权限的方法:重置 root 密码:重启服务器,在 GRUB 菜单中编辑内核命令行,添加“rw init=/sysroot/bin/sh”并按 Ctrl+x;单用户模式下挂载根文件系统并重置密码。使用救援模式:从 CentOS 安装 ISO 映像启动服务器,选择救援模式;挂载根文件系统,从 ISO 映像复制 chroot 环境,重置密码,退出 chroot 环境并重新启动服务器。

centos7怎么开启root权限 centos7怎么开启root权限 Apr 07, 2024 pm 08:03 PM

CentOS 7 默认禁用 root 权限,可按以下步骤开启:临时开启:终端输入 "su root",输入 root 密码。永久开启:编辑 "/etc/ssh/sshd_config",将 "PermitRootLogin no" 更改为 "yes",重启 SSH 服务。

centos7密码忘记了怎么办 centos7密码忘记了怎么办 Apr 02, 2024 pm 08:51 PM

CentOS 7 忘记密码的三种解决方法:单用户模式:重启系统,编辑内核选项,将 ro 更改为 rw init=/sysroot/bin/sh,使用 passwd 命令重置 root 密码。救援模式:从安装媒体启动,选择救援模式,挂载根文件系统,chroot 到根文件系统,使用 passwd 命令重置 root 密码。Grub2 命令行:重启系统,按 c 进入命令行,加载内核,挂载根文件系统,chroot 到根文件系统,使用 passwd 命令重置 root 密码。

See all articles