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

问题描述 投票:0回答:1

我有这个代码和相同的 twilio.php 库在本地(XAMPP)服务器和 VPS 上运行:

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 设置有问题?

php twilio require twilio-php
1个回答
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,我仍然使用 Composer。

既然有工具可以让这件事变得简单,为什么还要这么努力呢?

© www.soinside.com 2019 - 2024. All rights reserved.