错误:未能打开流:没有这样的文件或目录
问题描述:
我有这样的代码并兼具本地(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设置?
答
要解决此问题,请将路径正确设置为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,我仍然使用作曲家。
为什么这么辛苦工作时有工具可以让这件事变得简单?
autoload.php有哪些权限?如果您可以手动浏览到该文件,则可能是烫发问题。只需首先想到... – brad
'require'/twilio-php/twilio/autoload.php';'所以使用完整的服务器路径,然后'require'/ var/www/html/twilio-php(或其他文件夹).. ......';就像你提到过VPS的事情一样。 –
或..相对链接'require'./twilio-php/twilio/autoload.php'; '假设twillio-php和这个脚本在同一个目录中 –