首頁 >php教程 >php手册 >php ini_set函数无效怎么解决

php ini_set函数无效怎么解决

WBOY
WBOY原創
2016-06-13 09:56:331887瀏覽

利用ini_set可以快速的修改php.ini配置设置哦,无需打开php.ini就可以了,特别是虚拟主机时你没有修改php.ini的权限时就会发现这个函数的作用了,关于ini_set,post_max_size,upload_max_filesize,magic_quotes_gpc等用ini_set设置不了的解决办法!

 代码如下 复制代码

ini_set(‘max_execution_time’,’10′);
ini_set(‘memory_limit’,’1024M’);

echo ‘max_execution_time = ‘ . ini_get(‘max_execution_time’) . ”
“;
echo ‘memory_limit = ‘ . ini_get(‘memory_limit’) . ”
“;
echo ‘post_max_size = ‘ . ini_get(‘post_max_size’) . ”
“;
echo ‘upload_max_filesize = ‘ . ini_get(‘upload_max_filesize’) . ”
“;

ini_set(‘max_execution_time’,’10′);
ini_set(‘memory_limit’,’1024M’);

注意:

post_max_size,upload_max_filesize用下面的方法是修改不了的.
ini_set(‘post_max_size’,’1024M’);
ini_set(‘upload_max_filesize’,’1024M’);

正确做法是用.htaccess文件:

 代码如下 复制代码

php_value upload_max_filesize “80M”
php_value post_max_size “80M”
php_value max_execution_time “2000″
php_value memory_limit “150M”

实例设置max_execution_time

 代码如下 复制代码


 $old_max_execution_time = ini_set('max_execution_time', 120);
   echo "old timeout is $old_max_execution_time
";

   $max_execution_time = ini_get('max_execution_time');
   echo "new timeout is $max_execution_time
";
  
  
  
  echo 'function sets supported in this install are:
';
  $extensions = get_loaded_extensions();
  foreach ($extensions as $each_ext)
  {
    echo "$each_ext
";
    echo '

    ';
        $ext_funcs = get_extension_funcs($each_ext);
        foreach($ext_funcs as $func)
        {
           echo "
  • $func
  • ";
        }
        echo '
';
  }
?>

补充知识点:

其实在php文档里有说明upload_max_filesize的可修改范围是PHP_INI_PERDIR。
PHP_INI_PERDIR的意思是域内指令可以在php.ini、httpd.conf或.htaccess文件中修改。
PHP_INI_SYSTEM 域内指令可以在php.ini和httpd.conf文件中修改
所以upload_max_filesize用int_set是无法修改的。只有可修改范围是PHP_INI_ALL的才可以用int_set修改。

magic_quotes_gpc 用 get_magic_quotes_gpc() 获得,不能用 set_magic_quotes_gpc 修改,原因是没这个函数。而magic_quotes_runtime可以用set_magic_quotes_runtime()来设置

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn