centos7上编译安装php7以php-fpm方式连接apache


Posted in PHP onNovember 08, 2018

好几个月之间其实已经配置过LAMP LNMP等等一些配置,以前配置都是按照晚上抄的,基本都能配置出来,现重头学想自己配置下,但是发现好多配置都忘了 ,中间踩了几个坑,记录下,也更彻底的学习下.....

./configure --prefix=/usr/local/php7

--enable-fpm 以fpm模式安装,这个还可以改成 --with-apxs2=PATH模式,两者只能取其一

--enable-so

--with-config-file-path=/etc 只能配置文件位置

--with-config-file-scan-dir=/etc/php.d 可以读取这个目录下的配合文件

--with-openssl

--with-linxml-dir

--with-bz2

--with-curl

--with-pcre-dir

--with-gd

--with-jpeg-dir

--with-png-dir

--with-zlib-dir

--with-mcrypt

--with-mysql=/usr/local/mysql 这个选项是多余的,不生效,在php7中有其内置的mysql模块了 不用依赖于mysql或mariadb,所以说php安装顺序放在那里都行

--with-mysqli

--with-mysql-sock

--with-pdo-mysql

--enable-sockets

这次编译的呢是php独立模式的,不是作为apache模块形式运行的,所有就开启了 --enable-fpm,这样的好处是php可以独立与任何一台机器运行

但是,上面的参数并不是完整的,有很多的参数没添加上。。

遇到的问题是,在使用phpMyadmin的时候

centos7上编译安装php7以php-fpm方式连接apache

然后就开始在网上搜啊搜的,找了好多也没解决,不能说网上的方法不对,只是安装方式不同而已,网上的方法大部分是这样的

centos7上编译安装php7以php-fpm方式连接apache

或者是这样的

centos7上编译安装php7以php-fpm方式连接apache

但是我的都不是这样的,以上说的可能是直接yum安装的php,具体我的为什么出现这种情况 还需要看 ./configure的选项了,因为我没有 开启

---enable-mbstring Enable multibyte string support

所有就会出现这样的问题,解决方案,动态编译mbstrin

cd /root/pakger/php-7.1.23/ext/mbstring/
 /usr/local/php7/bin/phpize 
./configure --with-php-config=/usr/local/php7/bin/php-config
make && make install
cd /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/

也就这几部,首先cd 到php的源目录中的/ext/mbstring中

然后运行 /usr/local/php7/bin/phpize 会生成一个configure的文件

最后直接使用期编译安装到上面指定的位置即可,编译安装完以后会出现此模块的路径 ×××路径到php.ini中 如下图:

centos7上编译安装php7以php-fpm方式连接apache

据对路径方式....

然后重启php-fpm即可,当然想要和apache连接上还需要配置apachere配置文件

因为这里是以fpm形式安装的,所以和模块形式的配置是不一样的,除了添加

centos7上编译安装php7以php-fpm方式连接apache

以外 还需要添加

centos7上编译安装php7以php-fpm方式连接apache

以上两行,大概意思是让php请求的页面都走这个路径。。。

而以模块形式安装php的应配置为

centos7上编译安装php7以php-fpm方式连接apache

到此基本就完事了,然后就是配置一下php的配置文件之类的...

另外php的配置文件挺多的,它为啥不能放在一个配置文件下面的::

因此,这篇文章主要对这三个PHP配置文件的进行简单说明,具体的配置过程见本文末尾的 附录 部分。

1 配置php.ini

php.ini是php运行核心配置文件:
######避免PHP信息暴露在http头中
expose_php = Off
######避免暴露php调用mysql的错误信息
display_errors = Off
######在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置)
log_errors = On
######设置PHP的扩展库路径
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/"
######设置PHP的opcache和mysql动态库
zend_extension=opcache.so
extension=mysqli.so
extension=pdo_mysql.so
######设置PHP的时区
date.timezone = PRC
######开启opcache
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
######设置PHP脚本允许访问的目录(需要根据实际情况配置)
;open_basedir = /usr/share/nginx/html;

2 配置php-fpm.conf

php-fpm.conf是 php-fpm 进程服务的配置文件:
######设置错误日志的路径
error_log = /var/log/php-fpm/error.log
######引入www.conf文件中的配置
include=/usr/local/php7/etc/php-fpm.d/*.conf

3 配置www.conf(在php-fpm.d目录下)

www.conf这是 php-fpm 进程服务的扩展配置文件:

######设置用户和用户组
user = nginx
group = nginx
######根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;设置PHP监听
; listen = 127.0.0.1:9000 #####不建议使用
listen = /var/run/php-fpm/php-fpm.sock
######开启慢日志
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s
######设置php的session目录(所属用户和用户组都是nginx)
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
<?php
phpinfo();
$link = mysql_connect("localhost","user","passwd");
if (!$link) echo "FAILD";
else echo "ok";
phpinfo();
?>

通用二进制安装包安装mariadb出了几次错误,索性就编译安装了,但是。。真的挺慢的.......

其中用到了 mysql中的data专门放到一个目录或分区上

需要用到磁盘分区知识,然后使用初始化脚本来指定data的位置

然后设置mysql开机启动 把服务脚本添加到init.d目录下等

总结

以上所述是小编给大家介绍的centos7上编译安装php7以php-fpm方式连接apache,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP出错界面
Oct 09 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
Sep 20 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
解析htaccess伪静态的规则
Jun 18 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
phpmyadmin打开很慢的解决方法
Apr 21 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
PHP环形链表实现方法示例
Sep 15 PHP
PHP html_entity_decode()函数讲解
Feb 25 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 #PHP
php中如何执行linux命令详解
Nov 06 #PHP
laravel中的一些简单实用功能
Nov 03 #PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 #PHP
yii2 上传图片的示例代码
Nov 02 #PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 #PHP
php 调用百度sms来发送短信的实现示例
Nov 02 #PHP
You might like
一些星际专用术语解释
2020/03/04 星际争霸
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
详解vue父子组件状态同步的最佳方式
2020/09/10 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python合并多个装饰器小技巧
2015/04/28 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
建筑工程专业学生的自我评价
2013/12/25 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
MySQL去除密码登录告警的方法
2022/04/20 MySQL