iT邦幫忙

0

php中使用zend optimizer 3.3.9後出現This encoded file is corrupted.

匿名 2009-11-23 17:52:5312240 瀏覽

請問各位有用過zend optimizer這個元件的前輩們

我的架構環境是Ubuntu 8.04 apache2 php5 mysql
因為網頁的程式不是我寫的 所以我不太清楚他到底用了哪些元件

只知道有zend optimizer
現在我將它導入之後,phpinfo有顯示出來如下:

Zend Optimizer
Optimization Pass 1 enabled
Optimization Pass 2 enabled
Optimization Pass 3 enabled
Optimization Pass 4 enabled
Optimization Pass 9 disabled
Zend Loader enabled
License Path no value
Obfuscation level 3

但是開網頁後顯示出
Fatal error: This encoded file is corrupted. Please refer to http://www.zend.com/support/support\_faq.php?id=loader\_file\_corrupt for further help in /var/www/lib/stdlib.php on line 0

上網查了資料後,許多人都說是二進制傳輸的問題
但是不管我改了二進制還是直接用隨身碟傳輸 都還是一樣的問題

請問這到底是甚麼問題呢?? Zend這套件是不是還要裝其他的東西下去才可以跑??
還是php中要改甚麼呢?? 以上..感恩~

看更多先前的討論...收起先前的討論...
1.先確認檔案重傳後,apache 有沒有重新啟動?
2.確認您所看到的錯誤畫面,不是瀏覽器中的cache。
若覺得清cache的動作太麻煩,
可用 curl來看網站真正是跑什麼。
或者用
telnet host.mycompany.com 80
GET /

可確保所看的不是cache的東西。
匿名 檢舉
1.是有重新啟動的~
2.試過後應該不是cache 我的php好像真的看不懂他的程式碼 被zend加密的部分無法解開的感覺...
重新再確認一下Linux上的檔案與您電腦上的檔案是一致的,
甚至要再跟從 source 解開的檔案來比對,
在 Linux 上下
md5sum /var/www/lib/stdlib.php
看所獲得的結果,
與在 windows 上下 md5sum 該檔案的結果是否一致?
也確認您電腦上的檔案,不是透過 ftp 所傳來的,
且與原始的 stdlib.php 用 md5sum 來比對看看。
如果確定都一致的話,
才真的不是 binary mode 的傳輸問題。
windows 版的 md5sum 在 http://ftp.mirror.tw/free/md5sum.html 下載,
將執行檔存到 c:\windows 下後,再去執行。

另外,
傳檔到 Server,儘可能用 ssh 或 sftp 或 winscp 或 psftp來傳輸,
較不會有ftp的傳輸問題。
匿名 檢舉
阿阿...用了md5比對才發現
原來是業助一開始給我的檔案就是沒用二進制傳下來的阿~暈了

自己回去抓原始檔才發現這殘忍的問題..果然我還是滿身菜味的菜鳥阿~
可以請tw大去回答區回答嗎 才可以選為正解^^ 感恩感恩~

1 個回答

10
逮丸逮丸
iT邦大師 1 級 ‧ 2009-11-24 19:59:31
最佳解答

重新再確認一下Linux上的檔案與您電腦上的檔案是一致的,
甚至要再跟從 source 解開的檔案來比對,
在 Linux 上下

<pre class="c" name="code">md5sum /var/www/lib/stdlib.php

看所獲得的結果,
與在 windows 上下 md5sum 該檔案的結果是否一致?
也確認您電腦上的檔案,不是透過 ftp 所傳來的,
且與原始的 stdlib.php 用 md5sum 來比對看看。
如果確定都一致的話,
才真的不是 binary mode 的傳輸問題。
windows 版的 md5sum 在http://ftp.mirror.tw/free/md5sum.html下載,
將執行檔存到 c:\windows 下後,再去執行。

另外,
傳檔到 Server,儘可能用 ssh 或 sftp 或 winscp 或 psftp來傳輸,
較不會有ftp的傳輸問題。

我要發表回答

立即登入回答