Принудительно загружать файлы php.ini из текущей папки
Моя цель - увеличить максимальный размер файла для загрузки в WordPress. Я следовал инструкциям этого SE-ответа и этого руководства (за исключением части.htaccess, поскольку он запускает nginx, а AFAIK nginx игнорирует файлы.htaccess), но безрезультатно. Похоже, это игнорирует php.ini файлы из текущей папки.
На несвязанной установке WP я работаю на общем хосте, который я арендую, если я php.ini файл в папке WordPress (или любой папке), параметры этого файла будут иметь приоритет над оригиналом php.ini папку, и неуказанные параметры будут унаследованы.
Я предполагаю, что это поведение PHP по умолчанию. Начало /etc/php.ini кажется, чтобы подтвердить, что:
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.
; PHP attempts to find and load this configuration from a number of locations.
; The following is a summary of its search order:
; 1. SAPI module specific location.
; 2. The PHPRC environment variable. (As of PHP 5.2.0)
; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
; 4. Текущий рабочий каталог (кроме CLI)
; 5. The web server's directory (for SAPI modules), or directory of PHP
; (otherwise in Windows)
; 6. The directory from the --with-config-file-path compile time option, or the
; Windows directory (C:\windows or C:\winnt)
; See the PHP docs for more specific information.
; http://php.net/configuration.file
Официальная документация также, похоже, согласна:
В дополнение к основному файлу php.ini, PHP сканирует INI-файлы в каждом каталоге, начиная с каталога запрошенного PHP-файла и вплоть до корневого каталога текущего документа (как установлено в $_SERVER['DOCUMENT_ROOT']). Если файл PHP находится за пределами корня документа, проверяется только его каталог.
В моем случае, похоже, это не работает; добавив php.ini или же php5.ini файл с upload_max_filesize и т. д., не будет иметь желаемого эффекта. Добавление @ini_set( 'upload_max_size' , '64M' ); до конца WP functions.php Файл, как указано в другом месте, также не будет работать.
Выход из php --ini:
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/curl.ini,
/etc/php.d/dom.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/json.ini,
/etc/php.d/mbstring.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/sqlite3.ini,
/etc/php.d/sysvmsg.ini,
/etc/php.d/sysvsem.ini,
/etc/php.d/sysvshm.ini,
/etc/php.d/wddx.ini,
/etc/php.d/xmlreader.ini,
/etc/php.d/xmlwriter.ini,
/etc/php.d/xsl.ini,
/etc/php.d/zip.ini
От phpinfo():
Configuration File (php.ini) Path /etc
Loaded Configuration File /etc/php.ini
Scan this dir for additional .ini files /etc/php.d
Additional .ini files parsed /etc/php.d/curl.ini, /etc/php.d/dom.ini, /etc/php.d/fileinfo.ini, /etc/php.d/json.ini, /etc/php.d/mbstring.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/sqlite3.ini, /etc/php.d/sysvmsg.ini, /etc/php.d/sysvsem.ini, /etc/php.d/sysvshm.ini, /etc/php.d/wddx.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlwriter.ini, /etc/php.d/xsl.ini, /etc/php.d/zip.ini
- ОС: CentOS выпуск 6.5 (финальный) 2.6.32-431.17.1.el6.x86_64
- Версия PHP: 5.4.30
- Веб-сервер: nginx-1.6.0-2.el6.ngx.x86_64
1 ответ
Не видя ваши файлы конфигурации, я могу только предположить..
Убедитесь, что вы внесли следующие изменения в свой nginx.conf файл:
http {
client_max_body_size $New_File_Size;}
замещать $New_File_Size на то, что вы установили максимальный размер файла php.ini.
После того, как вы добавили эту строку в существующий файл nginx.conf, вам необходимо перезапустить ваши службы.
service php-fpm restart
service nginx reload
Если это не сработает, вставьте bin свои файлы конфигурации, и я помогу вам в дальнейшем.
Вам также следует обновить версию PHP.