2014-01-29 53 views
4

我正在編寫一些修復html字符串的代碼。 我讀了一些很好的解決方案,可以和整潔的PHP類一起工作,但是我遇到了一些麻煩。 這篇文章寫的是什麼,正是我想要的,但我需要安裝/加載PHP Tidy類Close tags from a truncated HTML string未找到PHP Tidy類,錯誤

我正在對PHP 5.5.4工作。 我試圖按照一些教程安裝整潔,但沒有附加任何內容。 當我打電話整齊類$tidi = new \tidy();,NetBeans的建議我的類並點擊它(Ctrl +單擊),我看到它,但刷新我得到錯誤Class 'tidy' not found in ... /myfile.php line ...

我以同樣的方式使用的頁面類$myVar = new \DomDocument();但它完美的作品。

檢查Tidy擴展是否像下面那樣加載,我得到「未加載」。

echo extension_loaded('tidy') ? "LOADED" : "NOT LOADED"; 

請問,有人可以解釋我是如何工作的,我該如何設置它? 我的Ubuntu的版本是13.10

+0

您是否在php.ini文件中啓用了擴展名?你的擴展文件夾是否包含必要的擴展名?你運行的是什麼樣的PHP環境(Xampp,loacl apache,LAMP服務器......)? – ToBe

+0

我試圖啓用它,但我不明白如何才能做到這一點。您能否向我解釋我必須啓用的功能,以及如何添加擴展名? 我單獨安裝了LAMP服務器。感謝您的快速響應 –

回答

8

您的php.ini包含一個「extension = somefile.so」行的列表。你錯過了整齊擴展的正確路線。它應該包含但在你的文件中評論。只要刪除;字符在整齊擴展名的前面,然後重啓你的web服務器。

樣品的窗口:

extension=php_tidy.dll 

樣版:

extension=tidy.so 

在一些Linux發行版,它有,如果你不能找到擴展文件tidy.so在您的擴展文件夾中安裝。根據您的分佈執行正確的行。你必須要根或使用sudo的:

的CentOS/RedHat的(通過yum search php-tidy發現正確的lib替換:

yum install rh-php56-php-tidy.x86_64 

於Debian/Ubuntu:

apt-get install php5-tidy 
+0

非常感謝,但沒有任何工作。 然後,我試着簡單地在_/etc/php5/apache2/php.ini_中添加'extension = tidy.so',然後重新啓動apache就沒有任何事情發生。之後,我提示_locate tidy.so_,它給_/usr/lib/libtidy.so_。然後我設置'extension_dir =「/ usr/lib」'但是沒有任何事情發生。 如果我啓動'sudo apt-get install php5-tidy',我有一個錯誤 –

+0

不要更改擴展文件夾。你使用什麼分佈?當啓用這樣的功能時,你是否遇到過啓動錯誤? – ToBe

+1

它應該是:yum安裝rh-php56-php-tidy.x86_64 –

3

我有同樣的問題,我終於想通了,這個解決方案是爲ubuntu 14.04運行xampp。

第1步
打開終端並輸入以下內容

sudo apt-get install php5-tidy 

第2步
時間找出 「tidy.so」 得到了安裝。


對我來說它被安裝到 「/usr/lib/php5/20121212/tidy.so」

第3步

找到並打開你的PHP。ini文件並找到擴展部分並插入以下行

extension=/usr/lib/php5/20121212/tidy.so 

第4步

回到你的終端運行以下命令以重新啓動服務器。

sudo /opt/lampp/lampp restart 

步驟5

驗證和/或通過在htdocs中在服務器上創建文件,新的整齊模塊已經在終端

php -m 

被加載由任一

稱爲test.php並插入以下代碼

<?php echo extension_loaded('tidy') ? "LOADED" : "NOT LOADED"; ?> 

接下來,在你的瀏覽器test.php的文件,它應該讀運行「裝」

如果不回去複習前面的步驟,直到你得到的消息。

我希望這會有所幫助,:)