由于 curl_setopt 导致建立数据库连接出错

由于 curl_setopt 导致建立数据库连接出错

我有一个虚拟服务器(1 个 CPU 1020 MB RAM),其中装有 Ubuntu 12.04.4 LTS 和 Apache2、PHP5.5、Mysql 以及四个 Web 项目,用户数量较少。去年它运行良好。但突然间,当我尝试访问其中任何一个项目时,我在浏览器上看到此错误:

建立数据库连接时出错

我通过重新启动mysql解决了这个问题:

service mysql restart

但过了一会儿,错误又出现了。检查日志文件后,我发现/var/log/apache2/error.log

[2014 年 8 月 5 日星期二 09:04:45.607024] [:error] [pid 8545] [客户端 ipAddress] PHP 警告:curl_setopt_array():当在 /webDir/project/wp-content/themes/custom/js/aPhpFile.php 第 56 行设置 open_basedir 时无法激活 CURLOPT_FOLLOWLOCATION,引用者:webDomain

看看这段代码:

$op = array(
  CURLOPT_RETURNTRANSFER => true, // return web page
  CURLOPT_HEADER => false, // don't return headers
  CURLOPT_FOLLOWLOCATION => true, // follow redirects
  CURLOPT_ENCODING => "", // handle all encodings
  CURLOPT_USERAGENT => 'sharrre', // who am i
  CURLOPT_AUTOREFERER => true, // set referer on redirect
  CURLOPT_CONNECTTIMEOUT => 5, // timeout on connect
  CURLOPT_TIMEOUT => 10, // timeout on response
  CURLOPT_MAXREDIRS => 3, // stop after 10 redirects
  CURLOPT_SSL_VERIFYHOST => 0,
  CURLOPT_SSL_VERIFYPEER => false,
);
$ch = curl_init();

$op[CURLOPT_URL] = $encUrl;  
curl_setopt_array($ch, $op);

以及此链接:https://www.php.net/manual/en/function.curl-setopt.php#102121,我明白为什么会抛出这个错误。

我只是禁用open_basedirsafe_mode也被禁用)并重新启动了服务器。

我再次看到这个错误,它出现又消失。但现在没有新的错误/var/log/apache2/error.log。甚至我尝试过:

//Show today logs
grep -r "Aug\s05" /var/log 

但唯一的信息是在/var/log/apache2/error.log

知道可能发生什么事情以及如何解决吗?

答案1

归根结底,这不是curl_setopt问题。这只是由 PHP 配置文件引起的错误(wordpress.stackexchange.com 答案)。

相关内容