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

好几个月之间其实已经配置过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目录下等

原创文章,作者:XSAIK,如若转载,请注明出处:http://www.wangzhanshi.com/n/9611.html

(0)
XSAIK的头像XSAIK
上一篇 2025年1月1日 16:49:43
下一篇 2025年1月1日 16:49:45

相关推荐

  • PHP和Selenium搭建高效网络爬虫实现技术探索

    安装PHP和Selenium Selenium是一个Web自动化测试工具,它模拟用户在Web页面上的操作。Selenium可以与多种语言进行交互,其中包括PHP。 在PHP中集成S…

    php 2024年12月17日
  • linux中安装php5的方法

    linux安装php5的方法:首先下载“php-5.6.2.tar.gz”包;然后进行解压;接着通过“make install”进行编译安装;最后修改配置php.ini等相关文件即…

    2025年1月2日
  • 在ThinkPHP6中使用mysql进行分页查询的实现代码

    随着互联网的快速发展,web应用程序的开发也越来越复杂。而分页查询是web应用程序中常见的功能之一。thinkphp6是一个web框架,可以帮助开发人员快速开发应用程序。在本文中,…

    2024年12月17日
  • php函数版本更新的方法和使用工具

    更新 php 函数版本至关重要,可提高安全性、性能和代码可维护性。详细描述:评估影响:确定依赖于过时函数的代码并评估更新影响。制定计划:制定分阶段更新计划,从不重要函数开始。编写测…

    php 2024年12月17日
  • PHP7带来的好处有哪些

    由于php升级乃头等大事,公司近期才打算升级,所以之前一直只能私下欣赏php7带来的快感 PHP7带来的好处 是的,性能上的大幅度提升,可以省机器,可以省钱。 PHP7带来的新东西…

    2025年1月1日
  • php7和php5有什么区别

    1、php标量类型和返回类型声明 #主要分为两种模式,强制性模式和严格模式declare(strict_types=1)#1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱…

    php 2025年1月1日
  • php7新功能有哪些

    PHP7 是最令人期待的,是 PHP 编程语言的主要功能。PHP7 是在2015年12月3日发布的,被誉为可以开发和交付移动到企业和云端的 Web 应用程序的革命。 PHP7 新功…

    php 2025年1月1日
  • 如何在php7中使用yar生成一个docker镜像

    Docker包含三个概念: (1)远程仓库即远程镜像库所有镜像的聚集地(不可进入操作)。 (2)本地镜像即从远程仓库拉取过来的镜像 (3)运行起来的本地镜像叫做容器(分层的可操作)…

    php 2025年1月1日
  • PHP7中Hugepage如何使用

    PHP7刚刚发布了RC4, 包含一些bug修复和一个我们最新的性能提升成果(NEWS), 那就是”HugePageFy PHP TEXT segment”, 通过启用这个特性,PH…

    php 2025年1月1日
  • 怎么提升PHP 8的性能

    今年年底,PHP-8即将发布。虽然这个主版本有很多新功能,例如联合类型、静态返回和弱映射等,但最令人期待的改进还是JIT编译器。 从理论上讲,JIT处理PHP脚本编译的方式能够提高…

    php 2025年1月2日

发表回复

登录后才能评论