错误:未能打开流:没有这样的文件或目录

问题描述:

我有这样的代码并兼具本地(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和这个脚本在同一个目录中 –

要解决此问题,请将路径正确设置为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,我仍然使用作曲家。

为什么这么辛苦工作时有工具可以让这件事变得简单?