購買的是香港空間:
因為我在程式裡面做匯出excel功能,自己傳了個PEARuse控制項上去。
每次調用報錯重定義:Fatal error: Cannot redeclare _pear_call_destructors() (previously declared in /home/xxx/www/www/wxs/a/PEARuse/PEAR.php:772) in /usr/local/php52/lib/php/PEAR.php on line 777
想必就是空間也有裝有一個pear 。
大蝦們求救!如果禁掉空間已裝好的pear?
回複討論(解決方案)
單做一個 php 程式,只有
運行後貼出結果
用於檢查 pear 是空間自動載入還是你的代碼問題 to:xuzuning
啟動並執行結果是這樣的:
Array ( [0] => /home/wingolf/www/www/wxs/a/product/test.php );
補充一句,我在本地電腦運行是正常的,放到空間才出現這個重定義問題。
to:xuzuning
啟動並執行結果是這樣的:
Array ( [0] => /home/wingolf/www/www/wxs/a/product/test.php );
這就證明:您使用的空間並沒有自動載入 pear
其實 pear 並不需要自動載入。只需把 pear 的路徑放到 include_path 中就可以了
你的空間可能就是這樣做的
這樣的話,你只需上傳 PEARuse 目錄就可以了
to:xuzuning
啟動並執行結果是這樣的:
Array ( [0] => /home/wingolf/www/www/wxs/a/product/test.php );
這就證明:您使用的空間並沒有自動載入 pear
其實 pear 並不需要自動載入。只需把 pear 的路徑放到 include_path 中就可以了
你的空間可能就是這樣做的
這樣的話,你只需上傳 PEARuse 目錄就可以了
那我要如何include我要用的檔案:
原來是這樣的:require_once '../PEARuse/Spreadsheet/Excel/Writer.php';
現在要怎麼做的?
/home/xxx/www/www/wxs/a/PEARuse/PEAR.php:772
/usr/local/php52/lib/php/PEAR.php on line 777
這是你錯誤資訊中提示的,兩個 PEAR.php 發生了衝突
你應該刪除一個你能刪除的
搞定了,直接調系統的:require_once '/usr/local/php52/lib/php/Spreadsheet/Excel/Writer.php';
謝謝xuzuning 的耐心教導。