2015-11-25 3 views
1

PHP /etc/php.ini не подчиняется upload_max_filesizePHP upload_max_filesize не повиновался

Детали: с помощью <?php echo phpinfo(); ?> я могу видеть, что «Загруженный файл конфигурации» является /etc/php.ini

В этом файле у меня есть значения :

file_uploads = On 
upload_max_filesize = 12M 
post_max_size = 12M 

НО phpinfo(); показывает upload_max_filesize 2M

После перезапуска времени сервера Apache это значение никогда не выполняется независимо от того, что я изменяю upload_max_filesize и max_post_size.

Я работал вокруг этого вопроса, используя .htaccess директиву

php_value upload_max_filesize 12M 
php_value post_max_size 12M 

Это позволило стоимость загрузки должна быть изменена и PHPINFO() теперь показывает правильное значение.

Directive   Local Value Master Value 
upload_max_filesize 12M   2M 

Вопрос заключается в том: почему это /etc/php.ini файл не повиновался в первую очередь? Running CentOs 5.4, php 5.3.29 Поиск (grep -inr '2M' *) in /etc/php.d/* с ничего не найдено.

Почему он не слушает основной файл php.ini, который, по его словам, использует?

Уже посмотрел на PHP upload_max_filesize

и Changing upload_max_filesize on PHP

на SO, но безуспешно.

--UPDATE-- Поиск grep -inr 'upload_max_filesize in /etc/*.ini и .conf с возвратом только значения 12M. Искал/etc/httpd/conf/ /etc/httpd/conf.d/ и, очевидно, корень виртуального хоста. Никакой специальной настройки в виртуальных хостах с grep, возвращающих 0 результатов.

Additional .ini files parsed 
    /etc/php.d/bcmath.ini, /etc/php.d/curl.ini, /etc/php.d/dom.ini, /etc/php.d/fileinfo.ini, 
    /etc/php.d/gd.ini, /etc/php.d/intl.ini, /etc/php.d/json.ini, /etc/php.d/ldap.ini, 
    /etc/php.d/mbstring.ini, /etc/php.d/mcrypt.ini, 
/etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_sqlite.ini, 
/etc/php.d/phar.ini, /etc/php.d/posix.ini, /etc/php.d/soap.ini, /etc/php.d/suhosin.ini, /etc/php.d/sysvmsg.ini, /etc/php.d/sysvsem.ini, etc/php.d/sysvshm.ini, 
/etc/php.d/wddx.ini, /etc/php.d/xdebug.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlwriter.ini, 
/etc/php.d/xsl.ini, /etc/php.d/zip.ini 
+1

В первой строке страницы 'phpinfo()' следует указать, какой из них загружается php.ini. Найдите, что 'php.ini' – Raptor

+1

@Raptor: OP говорит, что /etc/php.ini действительно используется. – sjsam

+0

Упс. Я пропустил эту строку – Raptor

ответ

0

Если проанализировать первые несколько строк phpinfo() вы можете знать
который php.ini загружен. (Любезно @Raptor)

В вашем вопросе вы упоминали, что/и т.д./PHP .ini действительно тот, который загружен.

В этом случае есть шанс, что ваш httpd.conf содержит что-то, как показано ниже:

php_value upload_max_filesize somevalue

Это глобальное значение, которое будет применяться для всех сайтов.
Я предполагаю, что это может привести к переопределению настроек php.ini.

+0

Спасибо sjsam, я посмотрю http.conf и другие включенные файлы conf для просмотра. Первоначально я смотрел там (php.conf), но ничего не видел о ограничениях 2 МБ ... Пойдем ближе к стороне apache –

+0

Привет sjsam, я просмотрел /etc/*.ini/etc/* .conf/etc/httpd/conf/* /etc/httpd/conf.d/* и не ссылается на 'upload_max_filesize' ... + также попытался /etc/php.d без успеха .... –

Смежные вопросы