2013-06-28 87 views
1

我想知道是否有任何方法可以讓我通過php頁面在Linux/CentOS中執行命令行?它所做的是命令行將在這個php頁面上,並將在CentOS上運行以轉換和生成一個文檔。通過PHP編碼執行Linux-CentOS命令行

下面是我試圖通過使用LibreOffice將文檔從.doc/.docx轉換爲PHP的代碼的一部分。

<?php 

    $test = "`libreoffice --headless --nologo --convert-to pdf /var/www/html/TERMS/eroom/temp/1_44.docx --outdir /var/www/html/TERMS/eroom/temp`"; 
        echo exec($test,$array);  
        print_r($array); 
    ?> 

備註:

我曾嘗試和研究關於如何做到這一點,但無濟於事多種方式。從shell exec,exec等等嘗試過的東西,但它不起作用。沒有任何錯誤,我無法弄清楚它有什麼問題。

但是,如果我複製命令行在這裏,並直接從CLI執行它,它的工作原理和轉換後的文件輸出。

謝謝!

+0

你試過了嗎: system()http://www.php.net/manual/en/function.system.php或 shell_exec()http://www.php.net/manual/en/function .shell-exec.php – Ogelami

+0

我試圖使用系統(「libreoffice -headless --nologo --convert-to pdf /var/www/html/test.doc --outdir/var/www/html」,$結果);但它也沒有效果。 – Everglades

+0

'$ PATH'可能沒有設置。嘗試使用'/ usr/bin/libreoffice'的整個路徑。 – hek2mgl

回答

0

檢查你的php.ini。 exec命令可能在disable_functions字符串中給出。從這個選項中刪除它。

如果它被禁止的safe_mode你大概可以打開它:在您的webserverconfig(httpd.conf文件)

對於這兩種方法 php_admin_value safe_mode設置關閉重載/重啓你的apache/Web服務器加載新組態。

+0

嗨,我明白你是什麼正試圖說不,它不在那裏。 – Everglades