『壹』 php報錯PHP Deprecated: preg_replace求大神解決
Deprecated: preg_replace();咐好意思是不贊成正衡搏鉛則替換,你這用正則替換的用法,不讓使用銀衫,換種方法實現你的替換目的吧。
『貳』 新人求教PHP高手,Deprecated
ereg函數是5之前用的,在5.多版本就棄用了,5點低的一些會執行但有警告,你說的php2.3我沒聽說過這個版本,apache2.3到是有聽說,正則你用preg_grep吧!返回匹配模式的數組條目,效果一樣的,關於正則的函數你到php手冊,函數參考->文本處理->PCRE->PCRE函數,這里是正則的一般使用到的函數,PCRE下的POSIX REGEX你也簡鉛可以看則鎮下,你用的ereg函數裡面就有說明,其中就有
Note:
使用 Perl 兼容正則表達式語法的 preg_match() 函數通常是比 ereg() 更快的替代方孫咐粗案。
『叄』 php怎麼屏蔽warning
諸如下面這些錯誤的提示:Warning: file_get_contents(/usr/local/tads/htdocs/XXXXXX/src/cache/countLoginnum.txt) [function.file-get-contents]: failed to open stream: No such file or directory in/usr/local/tads/htdocs/XXXXXXX/src/controllers/defaultController.php on line 43Warning: Cannot modify header information - headers already sent by (output started at /usr/local/tads/htdocs/XXXXXX/src/config/env.php:5) in/usr/local/taesdk/1.0/phplib3/src/base/core/TMWebResponse.class.php on line 332有的時候代碼的警告會導致整個項目無法運行,比如某個變數無對象的情況,若無影響,這時如果屏蔽警告,就可以使整個項目恢復正常運行。當然它的作用不在於這,而是在成品網站或做伺服器時,不輸出錯誤信息可以減少被黑客攻擊的風險(對於一些容易出錯並且容易暴漏敏感數據的代碼,一般多在資料庫這塊吧),也能在出錯的情況下仍保持網站的美觀。至於在調試下,那這個錯誤提示信息還是比較有用的,可以在PHP頁面最前邊加上一句: error_reporting(E_ALL & ~E_NOTICE);讓出錯時顯示錯誤信息。屏蔽的方法:
屏蔽PHP錯誤提示方法一、在有可能出錯的函數前加@,然後or die("") 如: @mysql_connect(...) or die("Database Connect Error")
屏蔽PHP錯誤提示方法二、編輯php.ini ,查找"display_errors =" ,將「=」後面的值改為"off。
屏蔽PHP錯誤提示方法三、在php腳本前加error_reporting(0),屏蔽所有錯誤提示。
例:
@$a = $b['a']; //忽略@後面語句的錯誤
$a = @$b['a']; //忽略@後面語句的錯誤,推薦使用這句。因為錯誤是在$b這個數組中發生的,所以@符號在$b前就可以了,這是錯誤真正發生的地方。
『肆』 如何使php頁面中不再出現NOTICE和DEPRECATED的錯誤提示
<灶賣猛?php
//文件頭部設置
error_reporting(E_ALL^E_NOTICE);
?>
//隱橋或者在php.ini配置文件配基中修改:
error_reporting=E_ALL & ~E_NOTICE