2016-09-22 86 views
-1

我有這樣的代碼併兼具本地(XAMPP)服務器和VPS上運行相同的twilio.php庫:錯誤:未能打開流:沒有這樣的文件或目錄

checkConnection.php

<?php 

    // Include Twilio PHP Library here 
    require '/twilio-php/twilio/autoload.php'; 
    use Twilio\Rest\Client; 

    $sid = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // Your Account SID from www.twilio.com/console 
    $token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // Your Auth Token from www.twilio.com/console 

    $client = new Twilio\Rest\Client($sid, $token); 
    $message = $client->messages->create(
     'XXXXXXXXXXXXX', // Text this number 
     array(
     'from' => 'XXXXXXXXXXXXX', // From a valid Twilio number 
     'body' => 'MySQL down!' 
    ) 
    ); 

    print $message->sid; 

?> 

的代碼完全運行在本地,但我VPS輸出以下錯誤:

PHP Warning: require(/twilio-php/twilio/autoload.php): failed to open stream: No such file or directory in /var/www/html/thsportsmassagetherapy.com/mysql-monitor/checkConnection.php on line 4 

PHP Fatal error: require(): Failed opening required '/twilio-php/twilio/autoload.php' (include_path='.:/usr/share/php:/usr/share/pear') in **/var/www/html/thsportsmassagetherapy.com/mysql-monitor/checkConnection.php** on line 4 

本地,腳本和twilio libary位於

C:\xampp\htdocs\mysql-monitor\ 

在VPS,它們位於

/var/www/html/thsportsmassagetherapy.com/mysql-monitor/ 

這是有可能的路徑錯誤或問題,我的PHP設置?

+0

autoload.php有哪些權限?如果您可以手動瀏覽到該文件,則可能是燙髮問題。只需首先想到... – brad

+0

'require'/twilio-php/twilio/autoload.php';'所以使用完整的服務器路徑,然後'require'/ var/www/html/twilio-php(或其他文件夾).. ......';就像你提到過VPS的事情一樣。 –

+0

或..相對鏈接'require'./twilio-php/twilio/autoload.php'; '假設twillio-php和這個腳本在同一個目錄中 –

回答

0

要解決此問題,請將路徑正確設置爲autoload.php。

例如,如果autoload.php位於/ usr/local/lib/myapp中。

require '/usr/local/lib/myapp/autoload.php'; 

也可以設置include_path

例如,在你的PHP文件中,你可以這樣做。

set_include_path('/usr/local/lib'); 

然後,而不是上面的要求,你可以做

require 'myapp/autoload.php'; 

或者你可以做我做什麼,這是使用像Symfony的應用程序框架,它使用composer來管理這樣的事情。即使我不使用Symfony,我仍然使用作曲家。

爲什麼這麼辛苦工作時有工具可以讓這件事變得簡單?

相關問題