php ini_set 注释,ini_set - [ php中文手册 ] - 在线原生手册 - php中文网

用户评论:

[#1]

Er.ellison [2015-11-13 07:44:56]

if u receive  an Error with generic like  :

Maximum execution time of 30 seconds exceeded

if u set ini_set(max_execution_time, 300);

your problem will be solved

pls note that the 300 , is 300 seconds , which means 5 minute  you can set another value !

[#2]

w3dk [2015-05-06 17:21:59]

Whilst most boolean settings can be disabled by passing '0', 'Off' or `No' (in fact anything that is not '1', 'On' or 'Yes' - not case-sentive) to ini_set(), it should be noted that ini_get() returns the literal string as set. So if you later want to check this setting by calling ini_get() and it's been set to 'Off' (a non-empty string that evaluates to True), then you'll have to specifically check for this in a (case-insensitive) string comparison, rather than the simpler:

if (ini_get('config_setting')) {  }

So, if you need to disable boolean settings I think it's preferable to set them to '0' (which simply evaluates to False).

[#3]

nl-x [2014-09-17 11:32:54]

I have experienced on some systems that ini_set() will fail and return a false, when trying to set a setting that was set inside php.ini inside a per-host setting. Beware of this.

[#4]

anonymous [2014-08-10 04:30:14]

Note that this function only works with PHP_INI_ALL options!

[#5]

williamprogphp at yahoo dot com dot br [2014-01-10 12:20:11]

I figured out why php dont output errors such as an expected ';' on code and output a 500 error. Some server are configured to omit php errors on pages using the directive display_errors=Off;

In most cases, the server will output a 500 Internal Server Error instead of php error because of it.

To prevent this default you must set this directive directly in the php.ini file and the server will show you the php error properly. Setting ini_set('display_errors', true) on-the-fly wont work.

[#6]

Nik [2013-11-25 17:44:17]

How to get xdebug var_dump to show full object/array regardless to php,ini settings:

ini_set("xdebug.var_display_max_depth", -1);

ini_set("xdebug.var_display_max_children", -1);

ini_set("xdebug.var_display_max_data", -1);

var_dump($test);

[#7]

Nathan [2011-11-08 20:56:50]

Careful - in some cases, when setting zlib.output_compression to "On" via ini_set, PHP won't send the Content-type header and browsers will garble the output. Set it to the desired buffer size instead, which sends the correct header:

ini_set("zlib.output_compression",4096);?>

[#8]

MadJoker [2009-08-12 13:46:23]

If you use gz_handler you might want to switch over to

zlib.output_compression

This can be controlled via the ini_set control.

or

[#9]

daevid at daevid dot com [2006-10-30 17:19:25]

Be careful with setting an output_handler, as you can't use ini_set() to change it. *sigh*

In my php.ini I have this for my web pages (and I want it):

output_handler = ob_gzhandler

But this causes my command line scripts to not show output until the very end.

#!/usr/bin/php -q

ini_set('output_handler','mb_output_handler');

echo"\noutput_handler => ".ini_get('output_handler') ."\n";?>

root@# ./myscript.php

output_handler => ob_gzhandler

Apparently (acording to Richard Lynch):

> TOO LATE!

> The ob_start() has already kicked in by this point.

> ob_flush() until there are no more buffers.

[#10]

RebootConcepts.com [2006-03-31 13:36:55]

set PHP_INI_PERDIR settings in a .htaccess file with 'php_flag' like this:

php_flag register_globals off

php_flag magic_quotes_gpc on

[#11]

Ron Ludwig [2006-01-10 11:30:55]

When your ISP does not allow you to add the default include directories - it might be useful to extend the 'include_path' variable:

[#12]

brainiac5 dot php at aimail dot de [2004-09-05 07:54:17]

To find the apache php settings try something like this.

> cd /etc/apache2

> grep -r -n -i  safe_mode_exec_dir *.conf

or

> grep -r -n -i safe_mode.*On *.conf

If you find a gererated file, obviously you need to find the source template for it, to change what's needed there.

I just wasted a sunny Sunday on searching for where the heck safe_mode_exec_dir was changed.

And yes, Local Value in phpinfo does mean 'changed between the php.ini file and here', as you would think.

If you have an automated virtual host configuration, such as confixx, php ini values can be spread across very many files.

They can be changed in apache config files, that can have any name, but usually will end on .conf, besides in .htaccess files.

[#13]

klw at gmx dot at [2004-09-05 06:49:37]

To change settings from .htaccess files, it is also required that the directory permissions configured in Apache allow this.

The  entry in httpd.conf MUST contain "AllowOverride All" or at least "AllowOverride Options" to read PHP settings from the .htaccess file.

E.g. in Fedora Core 2, the default settings for /var/www/html/ are "AllowOverride None", so changing PHP settings via .htaccess for applications installed below /var/www/html/ will not work.

[#14]

sean at php dot net [2004-08-13 18:54:28]

While this doesn't belong in the manual, it should be useful for people looking on this page for zend_optimizer.* ini options, which are commonly installed:

Information on the "zend_optimizer.optimization_level" and "zend_optimizer.enable_loader" options is available at:

http://www.zend.com/support/user_docs/ZendOptimizer/PDF/ZendOptimizer_UserGuide.pdf

[#15]

davey at its-explosive dot net [2003-03-17 18:42:12]

If you set something using php_admin_value in httpd.conf it is then not possible to be set the value at runtime, even if it's NOT PHP_INI_SYSTEM.

Just an interesting note for Server admins this might come in handy to disable setting of certain things... like allow_url_fopen.

- Davey

[#16]

miroslav AT simunic DOT de [2002-09-29 20:26:51]

If it's not your server and therefore you want to hide the data in your session variables from other users, it?s very useful to set the session.save_handler in your scripts to shared memory with:

Remember: You have to set it in every script that uses the session variables BEFORE "session_start()" or php won't find them.

[#17]

Tr909 at com dot nospam dot bigfoot [2002-06-12 10:04:45]

[[[Editors note: Yes, this is very true.  Same with

register_globals, magic_quotes_gpc and others.

]]]

Many settings, although they do get set, have no influence in your script.... like upload_max_filesize will get set but uploaded files are already passed to your PHP script before the settings are changed.

Also other settings, set by ini_set(), may be to late because of this (post_max_size etc.).

beware, try settings thru php.ini or .htaccess.

[#18]

johnzoet at netscape dot com [2002-03-13 18:13:49]

[[[Editors note: Just because you're able to set something

doesn't mean it will work as expected.  Depends on the

setting.  For example. setting register_globals at

runtime will be of little use as its job has already

been completed by the time it reaches your script.

]]]

When a setting can not be changed in a user script, the return value of ini_set is "empty", not "false" as you may expect.

If you check in your script for return value is "false" the script will continue processing, although the setting has not been set.

The boolean return value is used for settings that can be changed in a script. Otherwise the empty value is returned.

To test for both error conditions use:

echo"setting cannot be set";

exit;

}?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值