簡體   English   中英

禁用magic_quotes_gpc

[英]Disabling magic_quotes_gpc

我有一個網站,在本地設置。 它的應用程序開發框架是Kohana。

我在顯示以下錯誤:

Unknown Error

An error was detected which prevented the loading of this page. If this problem persists, please contact the website administrator.

system/core/Kohana.php [98]:

Function set_magic_quotes_runtime() is deprecated
Stack Trace

    * system/core/Kohana.php [98]:

      set_magic_quotes_runtime(  )

    * system/core/Bootstrap.php [39]:

      Kohana::setup(  )

    * index.php [130]:

      require( system/core/Bootstrap.php )

Loaded in {execution_time} seconds, using {memory_usage} of memory. Generated by Kohana v{kohana_version}.

該項目的另一位主要開發人員告訴我,要禁用php.ini中的magic_quotes ..
我正在使用MAMP,並且已經這樣做了。

問題仍然很明顯..關於此錯誤是由什么引起的任何線索,如何解決?

另一個需要注意的快速提示,當輸出phpinfo() ,我得到以下信息:

local value Off
Master Value On

我必須禁用主值嗎? 如果是這樣,怎么辦?

您使用的是PHP 5.3,由於magic_quotes在PHP 5.3中已刪除,將被刪除。 更改此ini設置的所有函數都會引發錯誤。

快速解決方案:轉到文件system / core / Kohana.php第98行,並注釋掉set_magic_quotes_runtime

或切換到PHP 5.2.10

您可以在system / core / Kohana.php的第98行注釋掉set_magic_quotes_runtime()調用

您可能正在運行PHP5.3.x。
如果您具有對php.ini寫權限,則可能要嘗試設置error_reporting配置條目以隱藏此類E_DEPRECATED警告。

示例(您的里程可能有所不同...):

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

但是,在開發機器上,您通常需要盡可能多的警告來修復錯誤或過時的代碼。

也可以看看

編輯:
這將解決症狀,而不是原因(編輯Kohana文件),但就個人而言,我個人不喜歡修補第三方庫,因為您必須為更新到的每個新版本執行此操作,除非該新版本可以在該補丁將要修復的方面。

編輯2:
為了解決問題,您可以將set_magic_quotes_runtime([VALUE])替換為ini_set('magic_quotes_runtime', [VALUE])

這可能比僅刪除調用更為安全,因為不推薦使用該函數, 如果省略該函數, 則仍會影響軟件的行為(如果PHP安裝啟用了magic_quotes_runtime )。

您可能還需要檢查是否已修復了Kohana的較新版本。

但是請注意,升級框架時應格外小心並進行擴展測試,以確保事情繼續按預期進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM