2011-08-05 24 views
0

我想創建一個字符串的md5哈希,但問題是,無論何時我使用md5函數並運行該文件,它將返回一個500內部錯誤。php md5哈希函數返回500內部錯誤

我使用的代碼是

$php_hash_string = md5("test_hash"); 

當我註釋不產生錯誤的文件和輸出的其餘部分被打印出來,但是當我使用MD5函數它產生500內部服務器錯誤。

任何人都可以請幫我解決這個問題嗎?

服務器信息:在CentOS 5.6

+3

檢查你的PHP錯誤日誌。根據[這個ServerFault的答案](http://superuser.com/questions/147975/how-can-i-get-log-messages-from-the-lamp-server-on-ubuntu-10-04)它是在默認的LAMP安裝中的'/ var/log/apache2/error.log'中。 –

+0

我有,沒有。絕對沒有......我很震驚...... – Vish

+0

[這個修復]怎麼樣?(http://www.commondork.com/2010/05/21/how-to-display-php-errors-on-your-lampwamp -建立/)?這應該會使錯誤顯示在瀏覽器中。 –

回答

1

確保你百勝安裝PHP-mcrypt的,看看是否有差別

+1

謝謝,剛剛重新安裝了整個php並解決了問題。顯然md5被corrypted。 – Vish

1

我不知道,如果你想用這種方式LAMP,但至少嘗試。

$md5 = md5("test_hash"); 
$php_hash_string = $md5; 

這可能只是愚蠢的嘗試,但大多隻有愚蠢的東西造成問題。

並把在這個文件的頂部:

error_reporting (E_ALL^E_NOTICE); 
+0

這有什麼幫助?只有你做的 - 雙哈希字符串 – daGrevis

+0

像我說的愚蠢的嘗試,但有時甚至愚蠢嘗試可以解決這個問題。 和我忘記從第二個刪除md5,我編輯了評論 – Dzoki

+0

不幫助.....但謝謝你的嘗試 – Vish

1

我使用的代碼是 $ php_hash_string = MD5( 「test_hash」); 當我註釋掉,不會產生錯誤的文件和輸出的其餘部分被印刷

所以這是不是你正在使用的代碼,只是它的一部分。

第一步是確認它確實是導致問題的md5()調用。你仍然遇到一個包含的腳本只有那一個語句的問題?

它返回500內部錯誤。

您是否已驗證您的安裝已正確配置爲報告/記錄PHP錯誤?而且這是而不是執行md5函數時記錄錯誤?並沒有什麼與網絡服務器記錄的相關?例如嘗試:

<?php 
for (
?> 

(這應該產生致命解析錯誤)

+0

它確實產生了一個致命的錯誤,但與MD5沒有來up – Vish