如何修改PHP配置
1. php如何动态修改配置文件
php中修改php配置文件(php.ini)的函数主要有四个函数:ini_get、ini_set、ini_get_all、ini_restore。其中ini_set和ini_get比较常用,下面分别做介绍。
(1)ini_get()
用来获取配置文件的选项值.
这个函数相信很多人都使过,就是获取配置文件中某一个选项的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。
php手册中的例子:
<?php
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";//最多能提交的文件大小
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'display_errors = ' . ini_get('display_errors') . "\n"; //显示错误是否打开
echo 'register_globals = ' . ini_get('register_globals') . "\n";//全局变量是否打开
?>
输出:
display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
这个函数主要是为了获取配置文件,可以方便很多操作。比如想操作字符串过滤,但是又不清楚magic_quotes_gpc有没有打开,所以就可以这样写一个函数:
function stringFilter($str)
{
if (ini_get('magic_quotes_gpc)') {
return $str;
} else {
return addslashes($str);
}
}
当然,如果无法知道的全局变量是否打开,也可以定制这样的函数:
function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET['var'];
}
}
当然,可以做很多用途,自己慢慢体会。
(2)ini_set函数
设置php.ini中的某些变量值.
这个函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表。
就是能够设置php.ini中的选项值比如,display_error选项关闭了,但是要显示程序中的错误信息,方便调试程序,那么就可以使用这个函数:
ini_set("display_errors", "On");
那么在这个页面的程序都会显示错误信息了,而且还可以使用error_reporting来设置显示的错误信息级别。
如果需要增加脚本执行时间,那么可以设置:
ini_set("max_execution_time", "180");
那么脚本执行时间就由默认的30秒变为180秒,当然,你也可以使用set_time_limit()来设置。
其实把ini_set和ini_get结合使的话,非常好。比如想在配置文件里添加自己的包含文件路径,但是有没有权限更改php.ini,那么可以结合两个函数:
ini_set('include_path',ini_get('include_path').':/your_include_dir:');
(3)ini_get_all
获取所有的设置选项变量
把所有选项值以数组的形式返回,方便当phpinfo()无法使用的时候来使用。
手册例子:
<?php
$inis = ini_get_all();
print_r($inis);
?>
部分输出值:
Array
(
[allow_call_time_pass_reference] => Array
(
[global_value] => 1
[local_value] => 1
[access] => 6
)
[allow_url_fopen] => Array
(
[global_value] => 1
[local_value] => 1
[access] => 7
)
...
)
(4)ini_restore
恢复配置文件默认的值
就是恢复配置文件默认的值,当你使用ini_set设置后可以使用它来恢复。
2. 怎么修改php.ini文件里的配置
文本编辑打开文件、修改保存即可。
如果是WINDOWS服务器,可以使用记事本修改。如果是UNIX服务器,可以使用vi修改。
查看PHP.INI文件位置,可以使用phpinfo()函数
3. 如何修改php.ini
修改php.ini这个选项,网上有很多的教程,可以随便搜。
1、先用root账号,登录到nobody的账户。
2、然后用whereis php命令查看,php.ini所在的位置,修改这个php.ini的文件就可以了。
3、最后重启apache,就可以生效了。
这里的nobody账户就是apache使用的账户,权限很低。
这里主要注意的问题就是你修改的配置文件必须是nobody所使用的配置文件。
一般情况下,修改了配置但是没有生效,可以考虑一下机器上是不是有多份配置。希望能帮到你,我还在后盾人线下面授培训上课学习呢现在没时间,有不会的可以问我,一起加油吧(▼㉨▼メ)
4. php如何修改文件中的配置信息~呢
对形如config.php文件的读取,修改等操作的代码,需要的朋友可以参考下
复制代码代码如下:
<?php
$name="admin";//kkkk
$bb='234';
$db=4561321;
$kkk="admin";
?>
函数定义:
配置文件数据值获取:function getconfig($file, $ini, $type="string")
配置文件数据项更新:function updateconfig($file, $ini, $value,$type="string")
调用方式:
复制代码代码如下:
getconfig("./2.php", "bb");//
updateconfig("./2.php", "kkk", "admin");
复制代码代码如下:
<?php
//配置文件数据值获取。
//默认没有第三个参数时,按照字符串读取提取''中或""中的内容
//如果有第三个参数时为int时按照数字int处理。
function getconfig($file, $ini, $type="string")
{
if ($type=="int")
{
$str = file_get_contents($file);
$config = preg_match("/" . $ini . "=(.*);/", $str, $res);
Return $res[1];
}
else
{
$str = file_get_contents($file);
$config = preg_match("/" . $ini . "=\"(.*)\";/", $str, $res);
if($res[1]==null)
{
$config = preg_match("/" . $ini . "='(.*)';/", $str, $res);
}
Return $res[1];
}
}
//配置文件数据项更新
//默认没有第四个参数时,按照字符串读取提取''中或""中的内容
//如果有第四个参数时为int时按照数字int处理。
function updateconfig($file, $ini, $value,$type="string")
{
$str = file_get_contents($file);
$str2="";
if($type=="int")
{
$str2 = preg_replace("/" . $ini . "=(.*);/", $ini . "=" . $value . ";", $str);
}
else
{
$str2 = preg_replace("/" . $ini . "=(.*);/", $ini . "=\"" . $value . "\";",$str);
}
file_put_contents($file, $str2);
}
//echo getconfig("./2.php", "bb", "string");
getconfig("./2.php", "bb");//
updateconfig("./2.php", "kkk", "admin");
//echo "<br/>".getconfig("./2.php", "name","string");
?>
复制代码代码如下:
//完善改进版
/**
* 配置文件操作(查询了与修改)
* 默认没有第三个参数时,按照字符串读取提取''中或""中的内容
* 如果有第三个参数时为int时按照数字int处理。
*调用demo
$name="admin";//kkkk
$bb='234';
$bb=getconfig("./2.php", "bb", "string");
updateconfig("./2.php", "name", "admin");
*/
function get_config($file, $ini, $type="string"){
if(!file_exists($file)) return false;
$str = file_get_contents($file);
if ($type=="int"){
$config = preg_match("/".preg_quote($ini)."=(.*);/", $str, $res);
return $res[1];
}
else{
$config = preg_match("/".preg_quote($ini)."=\"(.*)\";/", $str, $res);
if($res[1]==null){
$config = preg_match("/".preg_quote($ini)."='(.*)';/", $str, $res);
}
return $res[1];
}
}
function update_config($file, $ini, $value,$type="string"){
if(!file_exists($file)) return false;
$str = file_get_contents($file);
$str2="";
if($type=="int"){
$str2 = preg_replace("/".preg_quote($ini)."=(.*);/", $ini."=".$value.";",$str);
}
else{
$str2 = preg_replace("/".preg_quote($ini)."=(.*);/",$ini."=\"".$value."\";",$str);
}
file_put_contents($file, $str2);
}
5. 怎样在Apache里修改PHP的配置
当使用 PHP 作为 Apache 模块时,也可以用 Apache 的配置文件(例如 httpd.conf)和 .htaccess 文件中的指令来修改 PHP 的配置设定。需要有“AllowOverride Options”或“AllowOverride All”权限才可以。
有几个 Apache 指令可以使用户在 Apache 配置文件内部修改 PHP 的配置。哪些指令属于 PHP_INI_ALL,PHP_INI_PERDIR 或 PHP_INI_SYSTEM 中的哪一个,请参考附录中的 php.ini 配置选项列表。
php_value name value
设定指定的值。只能用于 PHP_INI_ALL 或 PHP_INI_PERDIR 类型的指令。要清除先前设定的值,把 value 设为 none。
不要用 php_value 设定布尔值。应该用 php_flag。
php_flag name on|off
用来设定布尔值的配置指令。仅能用于 PHP_INI_ALL 和 PHP_INI_PERDIR 类型的指令。
php_admin_value name value
设定指定的指令的值。不能用于 .htaccess 文件。任何用 php_admin_value 设定的指令都不能被 .htaccess 或 virtualhost 中的指令覆盖。要清除先前设定的值,把 value 设为 none。
php_admin_flag name on|off
用来设定布尔值的配置指令。不能用于 .htaccess 文件。任何用 php_admin_flag 设定的指令都不能被 .htaccess 或 virtualhost 中的指令覆盖Apache 配置例子:
<IfMole mod_php5.c>
php_value include_path ".:/usr/local/lib/php"php_admin_flag engine on
</IfMole>
<IfMole mod_php4.c>
php_value include_path ".:/usr/local/lib/php"php_admin_flag engine on
</IfMole>
注意:PHP 常量不存在于 PHP 之外。例如在 httpd.conf 中不能使用 PHP 常量如 E_ALL 或 E_NOTICE 来设定 error_reporting 指令,因为其无意义,实际等于 0。应该用相应的掩码值来替代。这些常量可以在 php.ini 中使用。
6. 如何在Apache配置中修改php的个别配置
如何在Apache配置中修改php的个别配置
apache服务器和php的配置应用还是很广泛的,如果你爱好或从事php程序,那么进行本文所提到的配置是不可避免的,当然,对于不同版本的php和apache,其配置还是不尽相同的,这里就最新的版本做一个简单的配置介绍.
apache_2.2.4,php_5.2.6.6.
安装apache_2.2.4,假设安装目录C:\Program Files\Apache Software Foundation\Apache2.
7. php如何正确配置
你在本地搭建好了一个 Web 开发环境,通常你需要修改环境的一些设置来达到一些目的,也有可能是 Web 应用要求你去修改某些特定的设置,或者通过修改设置来优化网站的性能。修改 Web 运行环境的设置是通过修改一些配置文件来完成的,比如想要修改 Apache 的配置,你需要找到 httpd.conf 这个文件,想修改 PHP 的设置,一般是 php.ini 这个文件,Mysql 的设置文件通常是 my.cnf 。找到这些文件所在的位置,打开以后,修改对应的选项的值,保存文件,然后重启 Web 运行环境,这样就可以完成修改了。
工具/原料
wamp
方法/步骤
我们通过新建一个 php 文件来预览 php 的相关配置信息。
1. 找到你的文档根目录,这个目录是你的网站应用的发布目录,或者叫 Web 目录,也就是只有把网站放在这个指定的目录里,才能通过浏览器打开,这个目录的位置你也是可以修改的。WAMP 设置的这个目录的位置是 wamp/www ,MAMP 这个目录是在 /Applications/MAMP/htdocs 。
2. 找到这个 Web 根目录以后,在目录里新建一个扩展台是 php 的文件,命名为 phpinfo.php 。然后用编辑器(Brackets,Sublime... )打开这个新创建的 phpinfo.php 。在这个文件里输入 <?php phpinfo(); ?> 。然后保存这个文件。
3. 在浏览器里打开 phpinfo.php 这个文件,地址应该是 localhost/phpinfo.php ,因为我们是在根目录下创建的 phpinfo.php 。Mac 用户如果使用 MAMP,可能需要在地址里加上端口号,localhost:8888/phpinfo.php 。在打开的页面上你会看到 PHP 配置的相关的信息,php 配置文件所在的位置,版本,php 启用的模块等等,仔细的看一下这个页面上的东西。
在上面,你应该可以找到 PHP 的配置文件所在的位置,也就是 php.ini 这个文件的位置,你可以在打开的 phpinfo.php 页面上搜索 php.ini ,Loaded Configuration File 这个项目右边的地址就是当前环境所使用的 php.ini 这个文件的位置。在这里,先找到这个配置文件,然后去修改里面的几个设置。
1. 找到当前环境所使用的 PHP 配置文件,php.ini ,这个文件的位置可以在 phpinfo.php 这个页面上得到。WAMP 可能是在 wamp/bin/apache/Apache2.4.4/bin/php.ini ,这个文件可以使用文本编辑软件打开。注意文件里面有很多内容都是注释,也就是用 ; 号开头,文字的颜色一般是浅灰色,这些内容只是用来解释跟提醒,并没有实际的用处。
2. 搜索 upload_max_filesize ,这个选项可以控制 Web 应用最大的可以上传的文件的大小,默认应该是 2M ,修改等号右边的值,改成 512M 或其它任何你想要修改成的那个数字。
3. 搜索 post_max_size,这个选项决定了 PHP 可以接受的发送的最大的数据,默认它的值是 8M,把这个值改的大一些,可以跟 upload_max_filesize 的值一样。
4. 搜索 memory_limit ,这个选项跟脚本最多可以使用的内存有关,把这个值改的大一些,比如 512M。
5. 搜索 max_execution_time,执行解析脚本允许的最大的时间,单位是秒,有些应用需要让这个值大一些,这里我们可以改成 120 。
6. 保存所修改的 php.ini 文件,关掉它,然后重新启动 Web 运行环境,WAMP 和 MAMP 都提供了一个界面,点一下对应的按钮就可以重新启动环境了。这样环境就会加载修改以后的 php.ini 文件。
7. 再打开 phpinfo.php 这个页面,然后搜索一下刚才修改的那些 php 的设置,看一下对应的值是不是自己修改之后的值,如果是,证明修改成功,如果跟修改以后的值不一样,确定自己打开了正确的 php.ini 文件。
8. 如何修改服务器php.ini
只能手动修改php.ini文件,或者是你的空间根本不支持Mysql.你可以联系下虚拟主机供应商。
9. PHP修改配置文件中的变量值
楼上乱来
通过web修改config.php似乎不是一个好点子哦
可能会引来安全方面的问题,而且你修改保存了以后也不会立即生效啊,还要等服务器重启
不过实现应该可以,给你提供个思路,用文件操作函数搞
不过具体涉及到config.php文件的内容和格式,其实还是相当繁重的工程