В настоящее время я пытаюсь найти правильный файл php.ini, чтобы отредактировать его и перезапустить Apache, чтобы изменения произошли, и я в тупике.
Я нашел три разных файла 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
Я изменил их все (просто чтобы быть уверенным) в настройки, которые я хотел.
Я перезапустил apache используя
sudo service apache2 restart
Результаты, достижения...
* Restarting web server apache2
Я перезагрузил страницу, и она показала, что файл php.ini не обновлялся.
Я знаю это, потому что я использовал
echo ini_get('post_max_size');
Который должен был быть изменен на 20M, но все еще был только 2M
Я попытался перезагрузить свой компьютер, думая, что, возможно, это остановит сервер apache и перезагрузит файл php.ini с правильными настройками, но, увы, эта попытка также не удалась.
Есть ли шанс, что может быть другой файл php.ini, который может мешать?
apache2
подкаталогеupdatedb; locate php.ini
вместоfind
./etc/php/5.6/apache2/php.ini
в Ubuntu 16.04 LTS Xenial Xerus, где5.6/
установлена версия php. Сначала скопируйте файл, аphp.original.ini
затем откройте для редактирования с помощьюsudo gedit /etc/php/5.6/apache2/php.ini
Ответы:
У вас есть три файла, каждый из которых предназначен для разных целей.
/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
для плагина PHP, используемого Apache. Это то, что вам нужно отредактировать, чтобы изменения вступили в силу в вашей настройке Apache./etc/php/5.6/fpm/php.ini
дляphp5-fpm
процессора, который является fastcgi-совместимой «оболочкой» для обработки PHP (например, для передачи из NGINX вphp5-fpm
) и работает как автономный процесс в системе (в отличие от плагина Apache PHP)источник
Попробуйте запустить скрипт, содержащий этот фрагмент, в своем браузере,
<?php phpinfo(); ?>
а затем попытайтесь найти что-то вроде загруженного файла конфигурации . Эта запись определяет php.ini, который ваш PHP использует на вашем сервере Apache.источник
Чтобы узнать, какой
php.ini
CLI использует, вы можете запустить:Пример вывода:
источник
для php7 убунту 16.4
источник
Вы можете найти используемый файл, запустив его на терминале:
источник