我发现了三个不同的php.ini文件(不知道为什么有三个)
这就是我找到文件的方式
$ sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
我也做了....
$ sudo php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
我将所有它们(只是为了确定)都更改为所需的设置。
我使用
sudo service apache2 restart
结果...
* Restarting web server apache2
我重新加载了页面,结果表明php.ini文件未更新。
我知道这是因为我使用过
echo ini_get('post_max_size');
本应更改为20M,但仍然只有2M
我尝试重新启动计算机思维也许那会停止apache服务器并以正确的设置重新加载php.ini文件,但是可惜尝试也失败了。
是否有可能存在另一个可能干扰素的php.ini文件g?
#1 楼
您拥有的三个文件分别具有不同的用途。/etc/php/5.6/cli/php.ini
用于CLI PHP程序,可通过在终端上运行php
找到。/etc/php/5.6/cgi/php.ini
用于此设置中未专门使用的php-cgi系统。/etc/php/5.6/apache2/php.ini
用于Apache使用的PHP插件。这是您需要编辑的更改,以将更改应用到Apache设置,该更改利用Apache的内置PHP模块。/etc/php/5.6/fpm/php.ini
用于php5-fpm
处理器,它是与fastcgi兼容的'用于PHP处理的包装程序(例如从NGINX传递到php5-fpm
),并在系统上作为独立进程运行(与Apache PHP插件不同)。对于低于以下版本的Ubuntu 16.04,
/etc/php/5.6/
,/etc/php/7.0/
,/etc/php/7.1/
等被/etc/php5/
等取代。否则,这些路径将保持准确。根据您的环境对此进行相应调整,将5.6
或编号替换为您环境中存在的实际版本文件夹。评论
在/ etc / php5 / apache2目录中找不到php.ini。但可以在cli目录中找到。
– Anuj TBE
2015年6月5日下午6:15
@ anujsharma9196唯一的原因是,如果您没有使用Apache构建的PHP插件。到目前为止,文件路径仍按此处列出的方式工作(已在我的15.04 VM上确认)
–托马斯·沃德♦
2015年6月5日在10:53
并且,如果您安装了多个PHP版本,请使用ll / etc / apache2 / mods-enabled / php *检查活动的PHP版本,这将为您提供有关该版本的提示。
–马修
20 Mar 27 '20 at 12:08
是的,但是重启php的命令是什么-不只是sudo service apache2 restart ...
– NoBugs
20/12/23在6:38
@NoBugs是另一个问题。这取决于PHP的安装方式(PHP组件的Apache插件,FPM或CGI安装都使用不同的重启调用)
–托马斯·沃德♦
20/12/23在6:50
#2 楼
尝试在浏览器中运行包含此代码段的脚本<?php phpinfo(); ?>
,然后尝试搜索类似“已加载的配置文件”的内容。此项指定您的PHP在Apache服务器中使用的php.ini。#3 楼
要查找正在使用CLI的php.ini
,可以运行:php -i | grep 'php.ini'
示例输出:
$ php -i | grep 'php.ini'
Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini
评论
这应该是公认的答案!
– MarceloÁgil
18年7月4日在13:49
这很好,但是只会为cli提供cli加载的配置。要获取apache加载的配置,需要在网页上执行phpinfo()。
– Dipu Raj
19年7月9日在6:16
#4 楼
适用于php7 ubuntu 16.4/etc/php/7.0/apache2/php.ini
评论
我缺少该文件。哪个软件包提供了该文件?
– Galmok
16-09-7在7:21
适用于Ubuntu 16.4上的php7
– Softmixt
16-10-3在7:04
#5 楼
您可以通过在终端上运行此文件来找到正在使用的文件:php --ini
#6 楼
我在Amazon Lightsail的LAMP堆栈上,适用于我的Ubuntu服务器的正确php.ini文件的位置是:/opt/bitnami/php/etc/php.ini
评论
“正确”的是在apache2子目录中使用updateb;找到php.ini而不是find。
@Michael在Ubuntu 16.04 LTS Xenial Xerus中,文件为/etc/php/5.6/apache2/php.ini,其中5.6 /是安装的php版本。首先将文件复制到php.original.ini,然后使用sudo gedit打开编辑/etc/php/5.6/apache2/php.ini