【发布时间】:2015-08-01 07:51:33
【问题描述】:
好吧,我已经为此苦苦挣扎了几天。
我在我们网络上的本地计算机上安装了 Joomla,用于我们的 Intranet,还安装了 Jomsocial。
问题是,当我去站点配置或编辑事件或导航到任何调用外部 api 的 joomla 模块时,我得到任何一个
CURL error : 7 Failed to connect to maps.google.com port 80: Connection timed out
或
Connection timed out (110)
问题绝对不是 Joomla 或 Jomsocial,因为我在同一台服务器上运行的其他 php 应用程序也无法联系外部 api
服务器设置是
Ubuntu 14Lts PHP 5.5 阿帕奇 2.4.7 玛丽亚数据库
服务器位于代理之后,但可以通过 CLI 完全访问 Internet。启用所有必要的 php 扩展。我已经在 /etc/environment 中设置了全局代理变量,也在 apt config 中设置了代理变量,并在 Joomla 中设置了代理变量。我的 Joomla 更新和组件更新工作正常,但 fsockopen 函数的 curl 不工作。
我不知道在哪里寻找错误。我的想法是 www-data 用户可能没有足够的权限从浏览器执行 fsockopen 和 curl。
有什么建议吗?
更新,我已经在另一台不在公司网络(直接连接到互联网)上的机器上测试了该站点,并且一切正常。所以我很确定我的问题出在我的机器和网络权限上,特别是我的 www-data 用户。我该如何解决这个问题?
【问题讨论】:
-
如果可能,尝试在 Joomla 的
index.php文件中使用putenv('http_proxy=http://proxy.example.com:8080/');设置您的代理,看看它是否可以这样工作。 -
谢谢!那解决了它。虽然我必须在 index.php 和 /administrator/index.php 中设置变量。请发表您的评论作为索取赏金的答案
标签: php apache ubuntu curl joomla