修改php.ini不生效的问题

本文介绍了解决PHP中上传文件大小限制超过8M的问题。通过修改正确的php.ini配置文件,并确保使用nobody账户进行操作,最后重启Apache服务,使设置生效。

摘要:上传大于8M的文件需要修改php的配置才可以生效。但是我在网上找了一堆修改配置的资料,但是自己修改之后就是没有生效。

 

解决方法:

修改php.ini这个选项,网上有很多的教程,可以随便搜。
1、 先用root账号,登录到nobody的账户。
2、然后用whereis php命令查看,php.ini所在的位置,修改这个php.ini的文件就可以了。
3、最后重启apache,就可以生效了。
 
这里的 nobody账户就是apache使用的账户,权限很低。
这里主要注意的问题就是你修改的配置文件必须是nobody所使用的配置文件。
一般情况下,修改了配置但是没有生效,可以考虑一下机器上是不是有多份配置。

 

附:
《与文件上传有关的php配置参数》

 

weixin

原创文章,转载请注明: 转载自成长的企鹅

本文链接地址: 修改php.ini不生效的问题

关于我:成长的企鹅简介


转载于:https://www.cnblogs.com/xcxinghai/archive/2013/06/14/3283879.html

<think>好的,我现在要解决用户的问题:如何在php.ini修改phar.readonly后确保设置生效。首先,我需要回忆一下相关的知识,并结合用户提供的引用内容来整理步骤。 根据引用[1],phar.readonly的设置由于安全原因只能在php.ini修改,如果php.ini里禁用了它,用户脚本里可以启用,但不能禁用。如果php.ini启用了,脚本里无法禁用。所以用户的问题应该是修改php.ini后设置没生效,可能的原因是什么? 可能的原因有几个: 1. 修改php.ini文件不是当前PHP正在使用的那个。可能有多个php.ini文件,比如不同环境下的不同配置。 2. 修改后没有重启Web服务器(比如Apache或Nginx)或者PHP-FPM服务,导致新配置未加载。 3. 检查是否在正确的php.ini位置修改了参数。用户可能修改了错误的配置段落,比如在CLI和Web服务器不同的配置文件中。 4. 权限问题php.ini文件没有正确保存,或者PHP进程没有读取权限。 根据引用[2],用户尝试用脚本生成.phar文件,但可能因为phar.readonly仍然为1导致失败。所以需要确保php.ini中的phar.readonly = Off。 步骤应该包括: 1. 确认正确的php.ini路径。可以通过phpinfo()函数查看Loaded Configuration File的位置。 2. 在正确的php.ini中找到phar.readonly参数,设置为Off。 3. 保存并重启相关服务。 4. 验证配置是否生效,比如用php -i | grep phar.readonly命令行检查,或者在脚本中用ini_get('phar.readonly')查看当前值。 另外,用户可能混淆了CLI和Web服务器的配置。比如,在命令行下php.ini的位置和Web服务器使用的可能不同,需要分别检查。 还有,确保没有其他地方的配置覆盖了这个设置,比如.user.ini文件或者Apache的配置中使用了php_admin_value等指令,但根据引用[1],phar.readonly只能在php.ini修改,所以这些覆盖可能不适用。 总结下来,用户需要做的是找到正确的php.ini修改参数,重启服务,并验证是否生效。如果仍然不行,可能需要检查权限或是否有其他配置冲突。</think>要确保$phar.readonly$在$php.ini$中的修改生效,需按以下步骤操作: ### 1. 确认php.ini文件路径 通过`phpinfo()`函数查看实际加载的配置文件路径: ```php <?php phpinfo(); ?> ``` 在输出结果中搜索**Loaded Configuration File**字段,确认当前环境使用的$php.ini$路径[^3][^4]。 ### 2. 修改配置项 在正确的$php.ini$文件中找到以下配置: ```ini ; 默认值为On,需改为Off phar.readonly = Off ``` 注意:必须直接在$php.ini$中修改,通过脚本调用$ini_set()$无法禁用该设置[^1]。 ### 3. 重启Web服务 | 服务器类型 | 重启命令示例 | |------------------|---------------------------| | Apache | `systemctl restart apache2` | | Nginx + PHP-FPM | `systemctl restart php-fpm` | | 独立PHP内置服务器| 终止进程后重新启动 | ### 4. 验证配置生效 通过命令行验证: ```bash php -r "echo ini_get('phar.readonly');" ``` 若返回`0`表示禁用成功,返回`1`则说明配置未生效。 ### 5. 常见问题排查 - **多环境配置**:CLI与Web服务可能使用不同$php.ini$,需分别检查 - **文件权限**:确保$php.ini$修改后保存,且PHP进程有读取权限 - **配置覆盖**:检查是否存在`.user.ini`或`.htaccess`覆盖配置(但phar.readonly不受这些文件影响)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值