• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
红星酒斩 显示全部楼层 发表于 2021-10-26 13:23:46 |阅读模式 打印 上一主题 下一主题
好几个月之间其实已经设置过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的时候

然后就开始在网上搜啊搜的,找了很多多少也没办理,不能说网上的方法不对,只是安装方式差别而已,网上的方法大部分是如许的

大概是如许的

但是我的都不是如许的,以上说的大概是直接yum安装的php,详细我的为什么出现这种情况 还需要看 ./configure的选项了,因为我没有 开启
---enable-mbstring Enable multibyte string support
全部就会出现如许的题目,办理方案,动态编译mbstrin
  1. cd /root/pakger/php-7.1.23/ext/mbstring/
  2. /usr/local/php7/bin/phpize
  3. ./configure --with-php-config=/usr/local/php7/bin/php-config
  4. make && make install
  5. cd /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/
复制代码
也就这几部,首先cd 到php的源目录中的/ext/mbstring中
然后运行 /usr/local/php7/bin/phpize 会天生一个configure的文件
末了直接使用期编译安装到上面指定的位置即可,编译安装完以后会出现此模块的路径 ×××路径到php.ini中 如下图:

据对路径方式....
然后重启php-fpm即可,当然想要和apache毗连上还需要设置apachere设置文件
因为这里是以fpm情势安装的,所以和模块情势的设置是不一样的,除了添加

以外 还需要添加

以上两行,大概意思是让php哀求的页面都走这个路径。。。
而以模块情势安装php的应设置为


到此根本就完事了,然后就是设置一下php的设置文件之类的...
别的php的设置文件挺多的,它为啥不能放在一个设置文件下面的::
因此,这篇文章重要对这三个PHP设置文件的举行简单阐明,详细的设置过程见本文末端的 附录 部分。
1 设置php.ini
  1. php.ini是php运行核心配置文件:
  2. ######避免PHP信息暴露在http头中
  3. expose_php = Off
  4. ######避免暴露php调用mysql的错误信息
  5. display_errors = Off
  6. ######在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置)
  7. log_errors = On
  8. ######设置PHP的扩展库路径
  9. extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/"
  10. ######设置PHP的opcache和mysql动态库
  11. zend_extension=opcache.so
  12. extension=mysqli.so
  13. extension=pdo_mysql.so
  14. ######设置PHP的时区
  15. date.timezone = PRC
  16. ######开启opcache
  17. [opcache]
  18. ; Determines if Zend OPCache is enabled
  19. opcache.enable=1
  20. ######设置PHP脚本允许访问的目录(需要根据实际情况配置)
  21. ;open_basedir = /usr/share/nginx/html;
复制代码
2 设置php-fpm.conf
  1. php-fpm.conf是 php-fpm 进程服务的配置文件:
  2. ######设置错误日志的路径
  3. error_log = /var/log/php-fpm/error.log
  4. ######引入www.conf文件中的配置
  5. include=/usr/local/php7/etc/php-fpm.d/*.conf
复制代码
3 设置www.conf(在php-fpm.d目录下)
www.conf这是 php-fpm 历程服务的扩展设置文件:
  1. ######设置用户和用户组
  2. user = nginx
  3. group = nginx
  4. ######根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;设置PHP监听
  5. ; listen = 127.0.0.1:9000 #####不建议使用
  6. listen = /var/run/php-fpm/php-fpm.sock
  7. ######开启慢日志
  8. slowlog = /var/log/php-fpm/$pool-slow.log
  9. request_slowlog_timeout = 10s
  10. ######设置php的session目录(所属用户和用户组都是nginx)
  11. php_value[session.save_handler] = files
  12. php_value[session.save_path] = /var/lib/php/session
  13. <?php
  14. phpinfo();
  15. $link = mysql_connect("localhost","user","passwd");
  16. if (!$link) echo "FAILD";
  17. else echo "ok";
  18. phpinfo();
  19. ?>
复制代码
通用二进制安装包安装mariadb出了几次错误,索性就编译安装了,但是。。真的挺慢的.......
其中用到了 mysql中的data专门放到一个目录或分区上
需要用到磁盘分区知识,然后使用初始化脚本来指定data的位置
然后设置mysql开机启动 把服务脚本添加到init.d目录下等
总结
以上所述是小编给各人先容的centos7上编译安装php7以php-fpm方式毗连apache,希望对各人有所资助,如果各人有任何疑问请给我留言,小编会及时回复各人的。在此也非常感谢各人对脚本之家网站的支持!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作