【问题标题】:Jira API Issue - CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set limited options on shared hostingJira API 问题 - 启用安全模式或在共享主机上设置 open_basedir 时无法激活 CURLOPT_FOLLOWLOCATION
【发布时间】:2012-11-17 06:29:22
【问题描述】:

我在 Atlassian Jira 错误系统 API 上运行一些代码,这是我正在使用的代码

$username = 'xxx';
$password = 'xxx';

$url = 'https://xxx.atlassian.net/rest/api/2/issues/?filter=12202';
//$url = 'https://xxx.atlassian.net/rest/api/2/issue/bug-5555';

$curl = curl_init();
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);

$issue_list = curl_exec($curl);
$issue_json = json_decode($issue_list);
print_r($issue_json);

这基本上是所有代码,现在如果我运行该代码,我会收到服务器错误:

当启用安全模式或在第 388 行的 /usr/local/pem/vhosts/117355/webspace/httpdocs/morny.me/jira_filters.php 中设置 open_basedir 时,无法激活 CURLOPT_FOLLOWLOCATION

但是,如果我改为运行注释代码:

$url = 'https://xxx.atlassian.net/rest/api/2/issue/bug-5555';

效果很好,没有任何问题。

说实话,我不知道问题出在哪里,所以我给我的托管公司发了一封电子邮件

嗨,保罗,

默认情况下,我们的服务器禁用安全模式。请记住,您为第二个解决方案提供的链接描述了单站点手动配置,这不是我们在共享主机上执行的操作。

当我尝试访问 conf 文件夹或 .htaccess 文件或 httpdocs 文件夹之外的任何内容时,它说我没有权限,所以看起来我限制了我可以更改的内容。

有什么解决办法吗?

【问题讨论】:

    标签: php curl jira open-basedir php-safe-mode


    【解决方案1】:

    使用 YQL 作为相关 URL 的代理。这是一个例子:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      相关资源
      最近更新 更多