在共享托管服务器copy()
上返回true
,但图像(.jpg)为0字节。 file_get_contents()
也是如此。我也使用curl,但图像是0字节。我在三个不同的服务器(不是共享主机)上尝试了这个,并且检索图像没有问题。共享主机服务器运行PHP 5.3.26,allow_url_fopen设置为“On” - 本地值和主值。
我对我接下来应该尝试的东西感到茫然(我已经提交了支持票,但这不是我的帐号所以我必须等待第三方将消息转发给我)。看起来PHP可以配置--disable-url-fopen-wrapper
,它可能会或可能不会覆盖allow_url_fopen,但是这个特定实例没有配置该选项(我刚搜索phpinfo()
)。
我还应该注意其他任何设置吗?
编辑:
当我从共享托管服务器使用cURL
时,我得到:
* About to connect() to sub.domain.com port 80 (#0)
* Trying ip.ip.ip.ip...
* Connection timed out
* couldn't connect to host
* Closing connection #0
当我从任何其他服务器使用它时:
* About to connect() to sub.domain.com port 80 (#0)
* Trying ip.ip.ip.ip... * connected
> GET /Media/5555/3890066/635236788134810610.jpg HTTP/1.1
Host: sub.domain.com
Accept: */*
< HTTP/1.1 200 OK
< Date: Sun, 09 Feb 2014 17:18:18 GMT
< Server: MIIxpc/4.7
< Content-Type: image/jpeg
< Last-Modified: Thu, 26 Dec 2013 23:20:43 GMT
< ETag: "125D3CBBB:52BCB9CB"
< Via: 1.1 iad.xpc-mii.net (MIIxpc/4.7 UNVERIFIED_CACHE_HIT Sun, 09 Feb 2014 17:18:18 GMT)
< Accept-Ranges: bytes
< Content-Disposition: filename=635236788134810610.jpg
< Age: 23546
< Via: 1.1 ttn105008 (MII-APC/2.4)
< x-mii-cache-hit: 1, auth=1
< Content-Length: 63504
< Expires: Sun, 16 Feb 2014 23:50:44 GMT
< Cache-Control: max-age=628346
< X-Pb-Mii: Powered by Mirror Image Internet
< Via: 1.1 ttn107102 (MII-APC/2.4)
<
* Connection #0 to host sub.domain.com left intact
* Closing connection #0
这是通过以下方式完成的:
$ch = curl_init();
//$fp = fopen('test.jpg','w');
$f = fopen('test_curlresponse.txt', 'w');
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_VERBOSE => 1,
CURLOPT_STDERR => $f,
));
curl_exec($ch);
curl_close ($ch);
curl_errono()
正在返回7 - Failed to connect() to host or proxy
。我不能不认为这是主机的一个问题,因为如果我在同时运行而我在另一台服务器上运行它,我得到的图像没问题。
根据php.ini,安全模式已关闭。我再次打开支持票,我只是讨厌坐着等待有人回复我:)
谢谢!