lnmp php重启没有加载正确php.ini文件

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

早上修改了php的配置文件,php-fpm.conf,重启nginx,php-fpm后发现网站启动不来了。nginx错误日志为:

1
2
2015 /09/18  10:11:30 [error] 15081 #0: *1073 FastCGI sent in stderr: "PHP message: PHP Warning:  require_once(Zend/Application.php): failed to open stream: No such file or directory in /web/www.XXX.com/wwwroot/public/index.php on line 18
PHP message: PHP Fatal error:  require_once(): Failed opening required  'Zend/Application.php'  (include_path= '/web/www.XXX.com/wwwroot/library:.:/usr/local/lib/php' in  /web/www .XXX.com /wwwroot/public/index .php on line 18 " while reading response header from upstream, client: xxx.19.116.133, server: www.XXX.com, request: " GET / HTTP /1 .1 ", upstream: " fastcgi: //unix : /usr/local/php/var/run/www .XXX.com.socket: ", host: " www.XXX.com"

通过好长时间的分析,是php.ini里面的zend配置没有生效,因此有可能是php.ini文件没有被加载。

首先检查PHP的编译参数

1
2
[huwei@xxx ~]$  /usr/local/php/bin/php  -i| grep  configure
Configure Command =>   './configure'   '--prefix=/usr/local/php'  '--with-config-file-path=/usr/local/php/etc'  '--with-mysql=/usr/local/mysql'  '--with-mysqli=/usr/local/mysql/bin/mysql_config'  '--with-mysql-sock=/tmp/mysql.sock'  '--with-pdo-mysql=/usr/local/mysql'  '--with-gd'  '--enable-libxml'  '--enable-xml'  '--enable-bcmath'  '--enable-shmop'  '--enable-sysvsem'  '--enable-inline-optimization'  '--with-curlwrappers'  '--enable-mbregex'  '--enable-fpm'  '--enable-mbstring'  '--enable-ftp'  '--enable-gd-native-ttf'  '--with-openssl'  '--enable-pcntl'  '--enable-sockets'  '--with-xmlrpc'  '--enable-zip'  '--enable-soap'  '--without-pear'  '--with-gettext'  '--enable-session'  '--with-mcrypt'  '--with-curl'  '--enable-ctype'  '--with-freetype-dir'

--with-freetype-dir参数是后面重新编译添加的参数,也就是说,PHP经历过两次编译.

查看php的php.ini文件默认路径:

1
2
3
[huwei@xxx ~]$  /usr/local/php/bin/php  -i| grep  php.ini
Configuration File (php.ini) Path =>  /usr/local/php/etc
Loaded Configuration File =>  /usr/local/lib/php .ini

由此可以看出,此时php默认加载的php.ini文件存在路径是:/usr/local/lib/php.ini

而我的正确的php.ini文件存在路径为:/usr/local/php/etc/php.ini

经检查,/usr/local/lib/php.ini的确没有配置zend扩展,因此网站无法启动.

cp /usr/local/php/etc/php.ini /usr/local/lib/php.ini

将php.ini文件覆盖过去,重启php-fpm,网站OK

或者使用命令直接加载php.ini文件

1
[root@test31 etc] # /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini

解决问题



思考:php文件:php-fpm.conf php.ini两个文件,php-fpm.conf是 php-fpm进程服务的配置文件

php.ini是php运行核心配置文件,也是php扩展的配置文件,比如

1
2
3
extension=memcache.so
extension=yaf.so
extension=redis.so

在php.ini里面将扩展内容配置才能生效.

因此本案件中,zend扩展没有生效,就可以查找php.ini文件是否生效.




本文转自 yawei555 51CTO博客,原文链接:http://blog.51cto.com/huwei555/1696041,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
4月前
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
4月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
4月前
进入靶场,出现一张照片,右击查看源代码,发现有一个注释的source.php文件
这段代码实现了一个网站上弹出的促销海报动画效果,包含一个关闭按钮。当促销海报弹出时,会在三秒后开始抖动一两下。海报使用固定定位居中显示,带有阴影和圆角,关闭按钮位于右上角。可以通过修改时间参数调整弹出时间。
29 0
|
5月前
|
存储 安全 数据库连接
php.ini 文件的用途是什么?
【8月更文挑战第29天】
99 1
|
5月前
|
Java 应用服务中间件 PHP
PHP——调用java文件中的方法
PHP——调用java文件中的方法
63 0
PHP——调用java文件中的方法
|
2月前
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
64 0
|
1月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####