2016-11-09 121 views
-1

我正在使用voip.ms php api我希望從cli運行一個php腳本,它可以在我的終端mac上正常工作,但在ubuntu服務器上失敗...php-cli require_once()在Ubuntu上無法在mac上工作

腳本:

<?php 
require_once("class.voipms.php"); 
$voipms = new VoIPms(); 
... 

class.voipms.php

<? 
class VoIPms{ 
... 

錯誤的開頭

首先它吐出來從class.voipms.php 2000+線然後

PHP Fatal error: Class 'VoIPms' not found in /root/voipreg/check.php on line 3 

顯然類是在class.voipms.php因爲它被印到CLI腳本可以找到class.voipms.php和從我的Mac上的終端一切運行良好,所以我很困惑!

任何幫助將是驚人的!

回答

3

PHP短標籤(只是<?與完整標籤<?php)可能在Ubuntu系統上禁用。我建議不要使用短標籤,因爲它們不像全標籤那樣處處啓用。如果未啓用,您將獲得您正在描述的內容。 PHP不會將該文件識別爲代碼,只是將其作爲文本吐出。

雖然你可以在php.ini中啓用短標籤,但我建議不要使用它。你不能依賴它在任何地方都被啓用,並且它不是很難僅僅輸出完整的東西。您現在也可以使用短回波標記<?=,即使短標記已禁用。

+0

就是這樣,現在我在class.voipms.php文件中的功能失敗,類沒有找到有很多事情,我應該期望不工作從Mac到Ubuntu? – JJD

+0

聽起來像一個不同的問題,取決於哪些類沒有找到(內置vs用戶定義)。這兩者和你的代碼之間的差異很可能只是安裝的擴展。如果匹配,代碼應該仍然運行。在php中很少有平臺特定的。這通常只在窗口和一些* nix系統之間。 –

+0

:-(他們都是用戶定義的 – JJD

0

無法找到指定的類文件。指定文件的方式,期望它位於運行此腳本的同一目錄中,或者PHP中的某個目錄包含路徑。

也許你在不同的環境中配置了不同的包含路徑,如果類文件真的不在這個腳本所在的目錄中。

相關問題