当前位置: 首页 > news >正文

CentOS系统编译安装PHP-5.6.27版本

一、手动安装编译工具:

yum install -y gcc gcc-c++

二、添加用户和用户组:

groupadd web
useradd -M -s /sbin/nologin -g web php

三、yum安装依赖:

yum -y install libmcrypt libmcrypt-devel mcrypt mhash libxml2-devel libpng-devel libjpeg-devel zlib bzip2 bzip2-devel libtool-ltdl-devel pcre-devel openssl-devel freetype-devel libcurl-devel icu perl-libintl postgresql libicu-devel

说明:其中libxml2-devel是PHP编译安装所必需的依赖包。

四、安装libmcrypt依赖:

# 获取libmcrypt:https://sourceforge.net/projects/mcrypttar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install

五、安装PHP:

1)下载PHP解压:

cd /usr/local/src/wget http://cn2.php.net/distributions/php-5.6.27.tar.gztar -zxvf php-5.6.27.tar.gzcd php-5.6.27/

2)然后开始编译安装:

./configure --prefix=/usr/local/php --enable-fpm --with-zlib --enable-zip --enable-mbstring --with-mcrypt --with-mysql --with-mysqli --with-pdo-mysql --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-curl --with-openssl --with-mhash --enable-bcmath --enable-opcache

然后:

make && make install

六、通过.php文件执行PHP代码:

vim test.php
<?phpecho "hello world!\n";
?>
/usr/local/php/bin/php -f test.php

说明:从结果可以看到PHP成功执行了test.php文件。 

八、配置文件:

1)

cd /usr/local/php/etccp php-fpm.conf.default php-fpm.conf

2)PHP本身也有一个配置文件php.ini, 默认该文件没有安装,在PHP解压后的源码包中可以找到两个预设的php.ini:

 

执行拷贝命令:

cp php.ini-development /usr/local/php/lib/php.ini

九、创建php-fpm开机启动:

1)在/lib/systemd/system/中添加php-fpmd.service文件:

vim /lib/systemd/system/php-fpmd.service[Unit]
Description=The PHP FastCGI Process Manager
After=network.target[Service]
Type=forking
PIDFile=/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --daemonize -g /run/php-fpm.pid
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target

2)然后更改权限:

chmod a+x /lib/systemd/system/php-fpmd.service

3)然后执行一些命令进行测试:

systemctl start php-fpmd.service
systemctl stop php-fpmd.servicesystemctl start php-fpmd.service
systemctl daemon-reload

4)查看下程序的进程和端口:

执行命令:

ps aux |grep php

从截图中,我们可以看到php-fpm的主进程的用户是root,子进程的工作于nobody用户。

 

 

 

http://www.lryc.cn/news/25635.html

相关文章:

  • 和风SDK查询城市ID(保姆级教程)
  • 暴力递归到动态规划
  • Java:Java仍然处于领先地位?
  • 虚拟地址空间
  • Python基础篇(十五)-- Pygame游戏编程
  • LeetCode 热题 HOT 100 Java 题解 -- Part 2
  • 【项目实战】IDEA常用快捷键汇总
  • 更新 TKK 失败,请检查网络连接。谷歌翻译 translation插件不能用解决办法 亲测有效
  • SpringBoot整合MybatisPlus多数据源
  • 【教程】如何使用Java生成PDF文档?
  • I.MX6ULL内核开发13:pinctrl子系统和gpio子系统-led实验
  • Linux系列 使用vi文本编辑器
  • 【java基础】接口(interface)
  • ChatGPT(GPT3.5) OpenAI官方API正式发布
  • CAD中如何将图形对象转换为三维实体?
  • 【K8S笔记】Kubernetes 集群架构与组件介绍
  • 9 怎么登录VNC
  • MPI ubuntu安装,mpicc,mpicxx,mpif90的区别
  • 移动端笔记
  • 操作系统笔记、面试八股(一)—— 进程、线程、协程
  • Python每日一练(20230302)
  • Numpy课后练习
  • 动态规划dp中的子序列、子数组问题总结
  • Zookeeper3.5.7版本——Zookeeper的概述、工作机制、特点、数据结构及应用场景
  • 安卓逆向学习及APK抓包(二)--Google Pixel一代手机的ROOT刷入面具
  • 线程池的基本认识与使用
  • 小家电品牌私域增长解决方案来了
  • 什么是让ChatGPT爆火的大语言模型(LLM)
  • 【监控】Linux部署postgres_exporter及PG配置(非Docker)
  • 基于Java+SpringBoot+Vue+Uniapp(有教程)前后端分离健身预约系统设计与实现