<?php
error_reporting(E_ALL);
if(file_get_contents("http://localhost/antispam/img.php") == false)
print 'Error';
else
print 'Read successfully';
?>
这始终会打印error
。 img.php
返回一个php生成的图像,但上面的代码无法读取。我的php.ini似乎很典型,并且没有显示错误,我缺少什么?
注意 allow_url_fopen
已设置为On
和1
img.php
$code = 'default';
header("Content-Type: image/jpeg");
$im = @imagecreate(200, 50) or die ("Cannot Initialize new GD image stream");
$bgColour = imagecolorallocate($im, 0, 0, 0);
$textColour = imagecolorallocate($im, 233, 14, 91);
$wSpace = 30; $hSpace = 20;
$prevW = 0;
for($i = 0; $i < strlen($code); $i++)
{
$w = $prevW + rand(20, $wSpace);
imagestring($im, 5, $w, rand(0,$hSpace), substr($code, $i, 1), $textColour);
$prevW = $w;
}
imagejpeg($im);
imagedestroy($im);
答案 0 :(得分:1)
检查你的php.ini: allow_url_fopen 需要激活,以便打开网址。 如果文件在localhost上,则不需要URL Wrapper。只需提供文件系统路径。
然后,文件需要由用户正在运行的php(在使用mod_php时为normaly apache用户,或者 在(f)cgi,fpm ...)
的情况下的php进程