導航:首頁 > 編程語言 > php操作ini

php操作ini

發布時間:2022-10-06 20:43:32

php怎麼設置PHP.INI文件的參數

當然不是所有參數都可以動態設置,如果可以那麼安全就得不到保證。
比如short_tag_open這個屬性。
如果非要改也可以考慮設置apache 這個程序運行用戶的許可權,然後PHP就可以去讀寫php.ini這個文件了。

② 如何修改php.ini

修改php.ini這個選項,網上有很多的教程,可以隨便搜。
1、先用root賬號,登錄到nobody的賬戶。
2、然後用whereis php命令查看,php.ini所在的位置,修改這個php.ini的文件就可以了。
3、最後重啟apache,就可以生效了。

這里的nobody賬戶就是apache使用的賬戶,許可權很低。
這里主要注意的問題就是你修改的配置文件必須是nobody所使用的配置文件。
一般情況下,修改了配置但是沒有生效,可以考慮一下機器上是不是有多份配置。希望能幫到你,我還在後盾人線下面授培訓上課學習呢現在沒時間,有不會的可以問我,一起加油吧(▼㉨▼メ)

③ php如何修改ini文件

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設置後可以使用它來恢復。

資料來源:http://news.netshop168.com/cgal/1228249823.html

④ php. ini在那怎麼打開

如果是在windows系統配置php 一般可放在php.exe中目錄中,如果沒有,可將php.ini-development (開發配置)或 php.ini-proction (生產配置) 改名為php.ini 再適當修改。如果改了沒起作用,可重啟iis或apache。一直不生效,可嘗試在web目錄新建一個i.php

<?php
phpinfo();

輸入以上內容並保存,在web站點訪問地址打開,可以查看到php的相關配置

我這里表示 php.ini 從D:Program FilesPHP-7.2php.ini 這個位置載入的,如果是從C:Windows目錄載入的,刪掉windows目錄下的php.ini即可(不推薦配置在windows目錄,這樣就不方便多版本共存了)

如果是linux系列的伺服器,一般在/etc/目錄內,也可以使用phpinfo輸出信息來查看載入的位置

編輯php.ini用普通的文本文件編輯器即可 (不要使用word等格式文檔)

⑤ php怎麼寫ini配置項

//用法ini_file(文件名,ini節名,鍵名key,鍵值)

//查詢時鍵值留空或設為null,函數返回鍵值
//若無ini節名,則ini節名設為nullini節名不包含[]

//查詢
//echoini_file('abc.ini','sectionA','key1');
//輸出對應的鍵值如123ds


//添加或更改
/*
if(ini_file('abc.ini','sectionA','key1','bnmv')
echo"成功添加或修改";
else
echo"操作失敗";

*/

functionini_file($inifilename,$mode=null,$key,$value=null){
//傳入參數為null時的默認值
$inifilename=$inifilename==null?'Application.ini':$inifilename;
$key=$key==null?'user':$key;
if(!file_exists($inifilename))
returnnull;
//讀取
$confarr=parse_ini_file($inifilename,true);
$newini="";
if($mode!=null)
{
//節名不為空
if($value==null)
{[email protected]$confarr[$mode][$key]==null?null:$confarr[$mode][$key];}
else
{[email protected]$confarr[$mode][$key]==$value?false:true;//若傳入的值和原來的一樣,則不更改
@$confarr[$mode][$key]=$value;
}
}
else
{//節名為空

if($value==null)
{[email protected]$confarr[$key]==null?null:$confarr[$key];}
else
{[email protected]$confarr[$key]==$value?false:true;//若傳入的值和原來的一樣,則不更改
@$confarr[$key]==$value;
$newini=$newini.$key."=".$value." ";
}

}
if(!$YNedit)
returntrue;

//更改

$Mname=array_keys($confarr);
$jshu=0;

foreach($confarras$k=>$v)
{
if(!is_array($v))
{$newini=$newini.$Mname[$jshu]."=".$v." ";$jshu+=1;}
else
{$newini=$newini.'['.$Mname[$jshu]."] ";//節名
$jshu+=1;
$jieM=array_keys($v);
$jieS=0;
foreach($vas$k2=>$v2)
{$newini=$newini.$jieM[$jieS]."=".$v2." ";$jieS+=1;}
}

}
if(($fi=fopen($inifilename,"w")))
{
flock($fi,LOCK_EX);//排它鎖
fwrite($fi,$newini);
flock($fi,LOCK_UN);
fclose($fi);
returntrue;
}
returnfalse;//寫文件失敗
}
ini_file('你的文件名','123','qew','456');

⑥ 怎麼修改php.ini文件里的配置

文本編輯打開文件、修改保存即可。

如果是WINDOWS伺服器,可以使用記事本修改。如果是UNIX伺服器,可以使用vi修改。

查看PHP.INI文件位置,可以使用phpinfo()函數

⑦ 如何使用php的ini

php.ini里 設置short_open_tag = On
如果你用的集成環境,要注意php.ini的路徑,wamp的php.ini有兩個,一個在php目錄下,一個在apache目錄下面,默認apache下面的起作用,不過可以修改
你可以去後盾人平台看看,裡面的東西不錯

⑧ php如何讀取ini配置文件並按要求顯示

您看這樣符合您的要求嗎?

<?php
//設置ini文件名
$ini[0]='1.ini';
$ini[1]='2.ini';

//檢查第2個ini文件是否存在,如不存在,則創建之
if(!file_exists($ini[1])){
$file=fopen($ini[1],"a");
fwrite($file,'[config]');
fclose($file);
}

//獲取值
$values[0]=parse_ini_file($ini[0]);
$values[1]=parse_ini_file($ini[1]);
//獲取鍵
$keys[0]=array_keys($values[0]);
$keys[1]=array_keys($values[1]);

//寫入第2個ini文件
if(isset($_GET['section'])){
foreach($keys[0]as$key){
//如果在第1個ini文件中存在此鍵,
//而在第2個ini文件中不存在,則進行寫入
//這是為了避免寫入重復或多餘的鍵
if($_GET['section']===$keyAND!isset($values[1][$key])){
file_put_contents($ini[1]," $key=0",FILE_APPEND);
}
}
}

//重新獲取第2個ini文件的值
$values[1]=parse_ini_file($ini[1]);
//重新獲取第2個ini文件的鍵
$keys[1]=array_keys($values[1]);

//開始輸出為表格
echo'<tablestyle="border-collapse:collapse;border:1pxsolid#000000;">';
//遍歷所有鍵
foreach($keys[0]as$key){
//如果值為OK,而且在第二個ini文件中不存在,則顯示ok
if($values[0][$key]==='OK'AND!isset($values[1][$key])){
echo'<trstyle="border:1pxsolid#000000;">';
echo'<tdstyle="width:64px;border:1pxsolid#000000;">',$key,'</td>';
echo'<tdstyle="width:64px;border:1pxsolid#000000;"><ahref="?section=',$key,'"style="color:#000000;text-decoration:none;">ok</a></td>';
echo'</tr>';
}
//如果值為OK,而且在第二個ini文件中存在,則顯示no
elseif($values[0][$key]==='OK'ANDisset($values[1][$key])){
echo'<trstyle="border:1pxsolid#000000;">';
echo'<tdstyle="width:64px;border:1pxsolid#000000;">',$key,'</td>';
echo'<tdstyle="width:64px;border:1pxsolid#000000;">no</td>';
echo'</tr>';
}
}
echo'</table>';
//表格輸出完畢

//注銷所有變數
unset($ini,$file,$values,$keys,$key);
?>

PHP中,寫入文件必須要有寫入許可權的。但一般來說是沒問題的。如果報錯,就必須要配置相應的寫入許可權才行。

希望對您有幫助,謝謝!

閱讀全文

與php操作ini相關的資料

熱點內容
程序員用得到數字區嗎 瀏覽:174
python求商 瀏覽:477
ipad能用c語言編譯器嗎 瀏覽:561
軟泥解壓球最新版 瀏覽:998
4萬程序員辭職創業 瀏覽:759
thinkingphp 瀏覽:597
安卓相冊移動文件夾 瀏覽:6
耳朵清潔解壓聲控99的人都睡得著 瀏覽:205
叉車出租網站源碼 瀏覽:874
共享單車的app是什麼 瀏覽:408
不帶gui的伺服器什麼意思 瀏覽:373
金剛經及PDF 瀏覽:102
php中冒號 瀏覽:358
php5432 瀏覽:352
命令在哪使用 瀏覽:172
php獲取網頁元素 瀏覽:708
為什麼需要硬體驅動編譯 瀏覽:885
pm編程怎樣看導柱孔對不對稱 瀏覽:138
農業大學選課找不到伺服器怎麼辦 瀏覽:660
路由配置網關命令 瀏覽:935