错误:无法打开流:没有此类文件或目录

时间:2016-09-22 17:06:09

标签: php require twilio-php

我有这个代码和在本地(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库位于

C:\xampp\htdocs\mysql-monitor\

在VPS上,它们位于

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

这可能是路径错误或我的PHP设置有问题吗?

1 个答案:

答案 0 :(得分: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,我仍然使用作曲家。

如果有工具可以让这些东西变得容易,为什么要这么努力?