В настоящее время я пытаюсь найти правильный файл 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, который может вмешиваться?
Три файла, которые у вас есть, предназначены для разных целей.
/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
, который является быстро совместимым «wrapper» для обработки PHP (например, для передачи из NGINX в php5-fpm
) и работает как отдельный процесс в системе (в отличие от плагина Apache PHP)
Для версий Ubuntu lower , отличных от 16.04,
/etc/php/5.6/
,/etc/php/7.0/
,/etc/php/7.1/
и т. Д. Заменены на/ etc/ph5/
и так далее. В противном случае эти пути остаются точными. Адаптируйте это соответствующим образом для вашей среды, заменив5.6
или номер на фактическую папку версии, существующую в вашей среде.
Попробуйте запустить скрипт, содержащий этот фрагмент в вашем браузере <?php phpinfo () ; ?>
, а затем попробуйте найти что-то вроде Загруженного файла конфигурации . Эта запись указывает php.ini, который ваш PHP использует на вашем сервере Apache.
Чтобы найти, какой php.ini
использует CLI, вы можете запустить:
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
Вы можете найти файл, используемый при запуске этого на терминале:
php --ini