如何在PHP中正确使用`.user.ini`文件?

时间:2015-08-24 09:45:15

标签: php settings ini

在我的工作目录中,我有两个文件:index.php.user.ini

.user.ini

display_errors=on

; http://be2.php.net/manual/en/filter.configuration.php#ini.filter.default
;filter.default = "full_special_chars"

index.php

<?php
//ini_set("display_errors", "on");

// Use `.user.ini` file:
// http://php.net/manual/en/configuration.file.per-user.php
echo "Setting for 'user_ini.filename': " . ini_get("user_ini.filename");
echo "\n\n";


// It takes up to five minutes, until `.user.ini` is re-read:
echo "Setting for 'user_ini.cache_ttl': " . ini_get("user_ini.cache_ttl");
echo "\n\n";

// http://php.net/manual/en/function.ini-get.php
echo "Setting for 'display_errors': " . ini_get("display_errors");
echo "\n\n";
echo "Setting for 'filter.default': " . ini_get("filter.default");
echo "\n\n";

// php -S localhost:8000
// http://localhost:8000/

使用上面的.user.ini - 文件(在我的工作目录中)我希望"Setting for 'display_errors': "的值为on1,但它是空的

如何使用.user.ini - 文件正确更改设置?

运行php --ini会导致

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/05-opcache.ini,
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-json.ini,
/etc/php5/cli/conf.d/20-readline.ini

不包含我的.user.ini - 文件。

明确添加.user.ini - 文件有效:

php --php-ini .user.ini index.php

但是我希望在从给定文件夹运行脚本时自动读取它。

2 个答案:

答案 0 :(得分:2)

根据http://php.net/manual/en/configuration.file.per-user.php

检查主user_ini.filename中的php.ini以确保它不是空白且确实已解析。如果它的值为空,则PHP根本不扫描。

另请参阅user_ini.cache_ttl

的值

请看一下

php.net manual

同时查看此问题 Loading a .user.ini PHP conf file using the PHP 5.4 internal server?

答案 1 :(得分:0)

您可以创建 .user.ini 文件并放置设置(没有任何缩进或空格),而不是使用 .htaccess 进行 php 配置。例如我的 .user.ini 配置是:

max_execution_time =600
upload_max_filesize=200M
post_max_size=200M
memory_limit=256M