⑴ 如何有效的屏蔽掉php警告和錯誤提示
方法一、在有可能出錯的函數前加@,然後or die("")
如:
@mysql_connect(...) or die("Database Connect Error")
屏蔽PHP錯誤提示方法二、編輯php.ini ,查找"display_errors =" ,將「=」後面的值改為"off。
屏蔽PHP錯誤提示方法三、在php腳本前加error_reporting(0),屏蔽所有錯誤提示。
error_reporting
配置錯誤信息回報的等級。
語法: int error_reporting(int [level]);
返回值: 整數
函數種類: PHP 系統功能
屏蔽PHP錯誤提示函數內容說明
本函數用來配置錯誤信息回報的等級,參數 level 是一個整數的位遮罩 (bitmask),見下表。
遮罩值 表示名稱
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_NOTICE 表示一般情形不記錄,只有程序有錯誤情形時才用到,例如企圖存取一個不存在的變數,或是呼叫 stat() 函數檢視不存在的文件。
E_WARNING 通常都會顯示出來,但不會中斷程序的執行。這對除錯很有效。例如:用有問題的正則表達式呼叫 ereg()。
E_ERROR 通常會顯示出來,亦會中斷程序執行。意即用這個遮罩無法追查到內存配置或其它的錯誤。
E_PARSE 從語法中解析錯誤。
E_CORE_ERROR 類似 E_ERROR,但不包括 PHP 核心造成的錯誤。
E_CORE_WARNING 類似 E_WARNING,但不包括 PHP 核心錯誤警告。
error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)
以上就是屏蔽PHP錯誤提示的相關實現方法。
如何有效實現
⑵ phpinfo()檢查後提示的PHP錯誤提示
根據提示,是php.ini中關於時區的設置問題。查找一下:date.timezone = ?如果是 ;date.timezone = ?去掉前面的;號。=號後面的值可以設置為:PRC、Asia/Chongqing、Asia/Shanghai或Asia/Urumqi等試試。如果是港台地區可以設置為:Asia/Macao 、Asia/Hong_Kong 或Asia/Taipei 等試試。格式如:date.timezone = PRC
⑶ 怎麼設置php.ini,讓所有錯誤都不提示
使用任一文本編輯器打開php.ini文件
搜索找到display_errors所在的行
如果前面有#號,則刪除#(#為注釋符號,該行#後面的內容都是注釋內容),如果該行前面有#,則該行的設置為注釋內容不會生效,所以要先去除#(例如你找到一行內容為#display_errors = Off,則去掉前面的#即可生效),沒有則忽略此步驟
將display_errors的值改為Off
保存文件
重啟伺服器即可
擴展:
php.ini為php環境的配置文件,通常所有配置都已經寫好,但並沒有開啟,它們會在行首添加#以注釋掉此功能。需要修改的時候,只需要刪除#即可打開功能,不需要自己寫一條新的配置。
更多配置內容可以參看php的官方文檔。
⑷ php開啟與關閉錯誤提示適用於沒有修改php.ini的許可權
windows系統開關php錯誤提示
如果不具備修改php.ini的許可權,可以將如下代碼加入php文件中:
代碼如下
ini_set("display_errors",
"On");
error_reporting(E_ALL
|
E_STRICT);
當然,如果能夠修改php.ini的話,如下即可:
代碼如下
找到display_errors
=
On
修改為
display_errors
=
off
注意:如果你已經把PHP.ini文件復制到windows目錄下,那麼必須同時把c:windows/php.ini里的display_errors
=
On
修改為display_errors
=
off
PHP
.ini中display_errors
=
Off失效的解決
在linux系統中開啟與關閉錯誤提示方法差不多,不過我還是具體給大家介紹一下
linux系統下
1.
打開php.ini文件。
以我的ubuntu為例,這個文件在:
/etc/php5/a(www.jb51.net)pache2
目錄下。
2.
搜索並修改下行,把Off值改成On
代碼如下
display_errors
=
Off
3.
搜索下行
代碼如下
error_reporting
=
E_ALL
&
~E_NOTICE
或者搜索:
error_reporting
=
E_ALL
&
~E_DEPRECATED
修改為
error_reporting
=
E_ALL
|
E_STRICT
4.
修改Apache的
httpd.conf,
以我的
Ubuntu
為例,
這個文件在:/etc/apache2/
目錄下,這是一個空白文件。
添加以下兩行:
代碼如下
php_flag
display_errors
on
php_value
error_reporting
2039
5.
重啟Apache,就OK了。
重啟命令:
:
代碼如下
sudo
/etc/init.d/apache2
restart
⑸ 如何修改php.ini實現php提示所有的錯誤信息
1 display_errors = On
2 error_reporting = E_ALL
⑹ 請問我部署的PHP網站為什麼我打開的時候出現了IIS的錯誤提示
看報錯是因為php.ini的配置問題,載入了錯誤的模塊。
將開在錯誤的模塊信息注釋掉。另外mysqli的模塊,看你用的win伺服器,myaqli.so是linux用的,需要載入mysqli.dll
⑺ 怎麼屏蔽掉這種PHP出現的錯誤呀,修改了PHP.ini配置文件也沒用,是不是必須要用mysqli寫
1.首先排除病毒原因,使用殺毒軟體,比如最新版本的網路殺毒快速查殺3-5分鍾,根據檢查結果,點擊立即處理。
2.如果應用程序出錯的提示是缺少某個文件,那就可能是這個文件損壞,根據這個組件查詢是哪個系統組件損壞,重新安裝相關組件,恢復程序文件,一般即可解決。
3.若是相關軟體自身的組件缺失,只需要重新安裝這個軟體即可。比如運行迅雷時提示缺少某個文件,可以嘗試重新安裝迅雷。
4.若以上方法無效,可能是軟體之間的沖突導致出錯。解決辦法是嘗試關閉幾個無關的正在運行的應用程序,看看錯誤是否還會重現。若已解決,就知道是哪兩個軟體沖突,不再同時運行這兩個軟體即可解決。或者向廠商反饋故障,督促廠商升級解決。如果不清楚是哪幾個軟體沖突,可行的解決辦法是使用網路衛士的系統優化,在一鍵優化里,關閉一些不常用的軟體啟動。這樣開機後運行的程序少一些,沖突的概率會下降。
5.對於另一種應用程序出錯,截圖顯示「應用程序出錯,**內存地址不能讀或不能寫」,這種情況最復雜,若以上方法不能解決,則很可能是硬體(主要是內存)故障,可能是兼容性不良,只能聯系硬體供應商修理。或者重裝系統,重裝後短時間內可能會有效。
⑻ PHP中如何開啟錯誤提示輸出
開啟步驟如下:
1. 打開php.ini文件。
以ubuntu為例,這個文件在: /etc/php5/apache2 目錄下為例。
2. 搜索並修改下行,把Off值改成On
display_errors = Off
3. 搜索下行
error_reporting = E_ALL & ~E_NOTICE
或者搜索:
error_reporting = E_ALL & ~E_DEPRECATED
修改為
error_reporting = E_ALL | E_STRICT
4. 修改Apache的 httpd.conf,
以Ubuntu 為例, 這個文件在:/etc/apache2/ 目錄下,這是一個空白文件。
添加以下兩行:
php_flag display_errors on
php_value error_reporting 2039
5. 重啟Apache,就OK了。
重啟命令: :sudo /etc/init.d/apache2 restart.