php.ini不起作用 的配置问题

本文解决了PHP中register_globals配置无效的问题,通过将php.ini文件放置于正确的路径下并重启服务器来实现。强调了安全性和编码规范的重要性。
  
由于在php下的编码不规范,变量的传递没有限制,所以把php.ini的register_globals=off修改成register_globals=on(5默认是关闭的为了安全)但是寻找了n长时间搜索所有的php.ini文件修改都没有变化!
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
原来把php.ini文件拷贝到phpinfoConfiguration File (php.ini) Path的对应路径才起作用,然后修改,重启!ok啦 呵呵!但是为了安全和兼容行以后要按照5的规范编码!注意变量的调用!
### PHP.ini 配置不生效的原因分析 PHP 的 `php.ini` 文件是控制 PHP 运行行为的核心配置文件。如果修改后的 `php.ini` 不生效,通常可能是以下几个原因造成的: #### 1. **加载错误的 `php.ini` 文件** 当运行 `phpinfo()` 函数时,会显示两个路径:一个是 `Configuration File (php.ini) Path` 表示 PHP 查找 `php.ini` 文件的位置;另一个是 `Loaded Configuration File` 显示当前正在使用的具体 `php.ini` 路径[^1]。如果 `Loaded Configuration File` 值为空,则表示未找到有效的 `php.ini` 文件。 #### 2. **存在多个 `php.ini` 文件** 如果系统中有多个 `php.ini` 文件(例如分别位于 Apache 和 PHP 目录下),可能会导致冲突。某些集成环境(如 WAMP 或 XAMPP)会在不同位置放置多份 `php.ini` 文件,并默认使用特定的一个。因此即使修改了一个文件,也可能不会被应用到实际环境中[^2]。 #### 3. **其他配置文件的影响** 自 PHP 5.3 开始引入了 `user.ini` 功能,允许每个站点拥有独立的配置文件。这些文件会被优先解析并覆盖全局的 `php.ini` 设置。如果某个站点目录下的 `user.ini` 存在且设置了不同的参数,可能导致全局配置失效[^3]。 #### 4. **缓存机制影响** 某些 Web 服务器或 PHP-FPM 使用了缓存技术来提高性能。在这种情况下,即使更新了 `php.ini` 并重启服务,旧的配置可能仍然有效直到缓存过期或者手动清除缓存。 --- ### 解决方案 针对上述问题,以下是具体的解决办法: #### 方法一:确认正确的 `php.ini` 文件 通过调用 `phpinfo()` 来验证哪个 `php.ini` 正在被加载。如果没有加载任何配置文件 (`Loaded Configuration File` 为 none),则需要将标准的 `php.ini-development` 或 `php.ini-production` 复制重命名为 `php.ini` 放入正确路径中[^1]。 ```bash cp /path/to/php.ini-development /usr/local/lib/php.ini ``` #### 方法二:检查是否存在多重配置文件 对于像 WAMP 这样的集成开发环境,可能存在两份甚至更多 `php.ini` 文件。确保只在一个地方进行更改即可解决问题。例如,在 WAMP 中,应编辑 Apache 下面的 `php.ini` 文件而不是 PHP 主目录中的那份[^2]。 #### 方法三:排查 `user.ini` 影响 查看是否有启用 `user_ini.filename` 参数以及对应的自定义 INI 文件存在于项目根目录里。如果有,请调整它们的内容使其与预期一致或将此功能禁用掉[^3]。 ```ini ; 禁用 user.ini 加载 user_ini.filename = ``` #### 方法四:清理缓存重新启动服务 有时尽管已经更正了所有的配置项但仍看不到效果,这是因为一些中间层比如 OPcache 缓存住了之前的设定值。此时应当彻底停止再开启相关进程以刷新状态。 ```bash sudo service apache2 restart sudo systemctl restart php7.x-fpm # 替换为对应版本号 ``` --- ### 示例代码片段 以下是一个简单的脚本用于打印当前已激活的各项重要设置及其来源: ```php <?php echo "<pre>"; print_r(ini_get_all()); ?> ``` 它可以帮助开发者快速定位哪些选项是从哪里继承来的。 --- 相关问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值