Я не могу заставить мой сервер подчиняться настройкам из php.ini
(Я пытаюсь изменить memory_limit
и upload_max_filesize
). Насколько я могу судить, я редактирую правильный файл. phpinfo()
дает:
Loaded Configuration File /etc/php.ini
Разрешение файла 644
. Есть также некоторые дополнительные .ini
файлы на /etc/php.d
, но ни один из них не содержит ключей, которые я пытаюсь изменить. Неважно что я делаю, phpinfo
сообщает значения по умолчанию для столбцов «Локальный» и «Главный».
Я также просмотрел свои файлы конфигурации Apache, но не нашел ничего, связанного с PHP (кроме загрузки модуля PHP). Единственный способ изменить эти настройки - добавить несколько php_value
линии к моему .htaccess
.
Есть ли что-то очевидное, что мне не хватает?
Это виртуальный сервер, и я могу выполнять корневые команды с sudo
. Я использую Apache 2.1.3 и PHP 5.3.3. Информация о системе (от uname -a
) является:
Linux sesctbapp01 2.6.18-308.1.1.el5 #1 SMP Wed Mar 7 04:16:51 EST 2012 x86_64
напишите на своем веб-сервере файл с именем test.php:
<? phpinfo(); ?>
Затем откройте его в своем браузере
есть раздел
Directive Local Value Master Value
где вы видите значения всех переменных и где они установлены: Локальное значение означает установленное в .htaccess или внутри php-скрипта с помощью ini_set ()
также попробуйте http://php.net/manual/de/function.ini-get-all.php чтобы узнать источник содержания ваших переменных.
Однажды у меня была глупая ошибка, когда я попытался установить для upload_max_filesize значение 200M: я написал «200MB» в php.ini, но это должно быть просто «200M». php интерпретирует неправильное значение «200MB» как 0. Возможно, что-то из этого помогает
Бегать php -i
в терминале, и он отметит, есть ли у вас какие-либо синтаксические ошибки в вашем php.ini. Такие ошибки заставляют Apache спокойно не анализировать (игнорировать) директивы.