You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Lampp PHP8环境修改php.ini后phpinfo()配置不生效怎么办

第一步:解决php.ini修改不生效问题

  • 优先排查服务重启逻辑:重启电脑不等于重启Lampp服务,修改全局php.ini后必须执行以下命令重启Lampp的Apache服务才会加载新配置:
    sudo /opt/lampp/lampp restart
  • 确认php.ini修改规则:配置行开头的;是注释符,修改配置时必须删掉对应行开头的;才会生效,比如原来的;upload_max_filesize = 2M要改成upload_max_filesize = 20M才会生效。
  • 修复php.ini权限:不要给php.ini设置777权限,存在严重安全风险,执行以下命令改回正常权限:
    sudo chmod 644 /path/to/your/php.ini(把路径替换成你phpinfo里显示的Loaded configuration file路径)
  • 纠正PHP8配置修改误解:PHP8没有禁止修改全局php.ini,.user.ini是站点目录级别的自定义配置方案,适合单个站点的配置覆盖,不需要修改全局配置时使用。

第二步:解决.user.ini创建失败问题

  • 创建.user.ini必须切换到你的站点根目录下执行,且需要root权限,示例操作(假设你的站点根目录为/opt/lampp/htdocs/myproject):
    cd /opt/lampp/htdocs/myproject
    sudo touch .user.ini
    sudo chown daemon:daemon .user.ini
    
    Lampp的Apache默认运行用户为daemon,给.user.ini设置对应所有者才能被PHP正常读取。
  • 你可以在.user.ini里写入上传相关自定义配置,示例:
    file_uploads = On
    upload_max_filesize = 20M
    post_max_size = 25M
    max_file_uploads = 20
    
    配置写入后等待30秒左右自动生效,也可以重启Lampp服务立刻生效。

第三步:排查move_uploaded_file功能异常问题

  • 先确认上传临时目录权限:查看phpinfo中upload_tmp_dir配置项的路径,默认是/tmp权限正常,如果你自定义了路径,需要给该目录设置daemon用户的读写权限:
    sudo chown -R daemon:daemon /path/to/upload/tmp
  • 确认上传目标目录权限:你要把上传文件移动到的目标目录,必须给daemon用户读写权限:
    sudo chmod -R 775 /path/to/upload/dest
    sudo chown -R daemon:daemon /path/to/upload/dest
  • 添加上传错误调试:在你的上传脚本中打印上传错误码,根据错误码定位具体问题:
    var_dump($_FILES['your_upload_field_name']['error']);
    错误码对应含义可直接查阅PHP官方手册,常见错误如返回1代表超过upload_max_filesize限制,返回3代表文件仅部分上传,返回7代表临时目录无写入权限。

内容的提问来源于stack exchange,提问作者Glen Rose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:54:03