2015-01-22 6 views
0

나는 testHash.php와 me.php라는 두 가지 간단한 PHP 스크립트를 가지고있다. testHash.php 단순히 me.php에 md5_file 기능을하고다른 기계에서 PHP md5_file이 같지 않음

testHash.php 포함 결과를 프린트 아웃된다

<?php 
$test = md5_file(__DIR__."/me.php"); 
echo $test; 
echo phpinfo(); 
?> 

me.php은을 포함 :

<?php 
echo "Hello World"; 
?> 

파일을 건드리지 않고 FTP Tool (FileZilla)을 사용하여 두 개의 다른 웹 서버에 스크립트를 업로드했습니다. 하나는 로컬 가상 머신이고 다른 하나는 공용 웹 서버입니다. $test 변수의 출력은 다른 것과 다릅니다. 두 웹 서버는

3a65329165abe28a485bed663da5e298 왜 그들은 서로 다른 = LAMP 프레임 워크

  1. 지역 VM 웹 서버 = 7633bbfa20ed2d29a55338913048eff0
  2. 공공 웹 서버에서 작동? 해시 계산에 영향을주는 외부 요소 (프레임 워크, PHP 버전, PHP 구성 파일)가 있습니까? 고맙습니다.

+2

filezilla에서 사용하는 업로드 방법에 따라 다릅니다. 바이너리 인 경우 md5 체크섬이 동일해야하며 아스키를 사용하면 체크섬이 다를 수 있습니다. –

+0

예, 문제가 자동으로 설정되었습니다. 덕분에 @ RaphaelMüller – tangol100

답변

4

파일이 있으면 md5가 다릅니다.

아스키 모드로 파일을 전송하는 경우 줄 끝이 CRLF에서 LF로 변경되는 것처럼 파일의 내용이 변경 될 수 있습니다.

+0

고마워. Il은 내 FTP 도구의 전송 모드를 염두에 둡니다. 내 FileZilla-> Transfer-> Transfer Transfer Type에서 auto로 설정되었습니다. 방금 바이너리로 설정했습니다. 고마워. – tangol100