我目前正在使用图像处理脚本对上传的图像进行一些工作,我在开发环境中遇到了问题.这个代码适用于我的生产服务器.
错误是:
PHP Warning: imagecreatefromjpeg(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /path/to/script.php on line 75
75上的代码行是:
$this->img = imagecreatefromjpeg(PHPTHUMB."?src=/".$this->image_path);
它创建一个由phpThumb制作的图像,该图像用于进一步操作.
关于如何解决这个问题的任何想法?任何人都可以了解错误的含义吗?
谢谢,
编辑:
正如我PHPTHUMB . "?src=/" . $this->image_path
在浏览器中访问的那样,如果进一步深入了解,图像加载正常
用户代理php.ini
没有解决此处指出的问题
编辑(解决方案):我必须将INTERNAL 192.168.204.XXX IP添加到hosts文件中,以便http://dev.mysite.com正确解析.尝试127.0.0.1和外部IP没有产生任何结果,但内部工作完美.感谢大家的努力,
我完全不确定错误的原因,但这是我最好的猜测.
有一个特定的PHP设置,可以将URL视为文件.通常,imagecreatefromjpeg接受一个文件名,我想.由于您传递的是URL,因此需要确保启用了特定设置.我相信你可以在这里找到更多关于它的信息:http://us2.php.net/file
文件名
Path to the file. Tip如果已启用fopen包装器,则URL可用作此函数的文件名.有关如何为支持的URL协议列表指定文件名和支持的协议/包装列表的更多详细信息,请参阅fopen().
Fopen包装:http://us2.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
您的开发环境可能无法使用此设置,但您的生产环境可能是.
编辑
此页面列出了您的错误:http: //bugs.php.net/bug.php?id = 11058
并提到可能的修复方法是修改hosts文件以明确包含您正在访问的服务器的ip/dns.
我试图重新配置我的命名配置,没有任何结果,以解决这个问题.通过在我的/ etc/hosts中添加以下行来解决问题:
194.97.55.147 mx.freenet.de
也许你可以试试这个?