为什么我的两个活服务器不运行这个curl命令,但我的本地testing服务器呢?

我有三台服务器。 两个是现场服务器托pipe网站的互联网。 一个是本地testing服务器,在互联网上看不到更大的。

我试图运行一个PHP脚本发布到Twitter ,它依靠curl。 当我在我的本地testing机器上运行脚本时,它完美的工作。 当我尝试运行在我的任何一台服务器上时,都会失败,并显示以下错误信息:

PHP Fatal error: Call to undefined function Abraham\TwitterOAuth\curl_init() 

在我的本地机器上,当我运行php --info | grep -i curl php --info | grep -i curl ,我得到这个回应:

 /etc/php5/cli/conf.d/20-curl.ini, curl cURL support => enabled cURL Information => 7.35.0 

我只能通过SSH访问我的一台服务器(另一台是付费托pipe服务,受限制更多),当我在服务器上运行相同的命令时,我没有得到任何回应。 命令提示符没有任何回应。 但是,如果我转到我的实时服务器上的/etc/php5/cli/conf.d/目录,那里有一个20-curl.ini文件。

所有服务器都是基于Ubuntu的,我已经运行了apt-get install php5-curl curl ,他们都说它们运行的​​是最新版本。

这是所有服务器上最后一个令人困惑的细节,如果我在我的任何一台服务器,本地testing服务器和两台服务器上运行这个PHP脚本,我会得到一个积极的回应。 这是代码:

 echo 'Curl: ', function_exists('curl_init') ? 'Enabled' : 'Disabled'; 

…当我运行它,我得到这个输出:

curl:启用

底线,似乎curl安装在所有三台服务器上,但在我的两台服务器上安装有问题。

我能做些什么来诊断和解决为什么我的服务器不能运行我的本地testing服务器可以使用的PHP脚本?

你很可能在服务器上缺less这个库: https : //github.com/abraham/twitteroauth

PHP错误显示它正试图从TwitterOAuth加载一个函数,并且因为库缺失而无法工作。

另一种可能是您的脚本包含某种自动加载器库,在您的实时服务器环境中无法正常工作(在错误path中查找库)。