我有一个用于工作的PHP脚本(它是一个用于自定义图像搜索引擎的php界面,按图像搜索,类似于Tineye和Google Image Search)。它曾经在php 5.2上正常工作,但在服务器升级到php 5.3和5.4后停止工作。这是脚本Client.php:
脚本很长,我无法在这里发布,因为有字符限制,所以我将其作为带有代码的文本文件上传。我想向你展示整个事情,因为我不确定哪个部分会导致新的php版本出现问题,但问题似乎是在socket连接部分的某个地方。
我检查了错误日志,它没有显示任何php错误,这就是问题,否则我至少知道从哪里开始。它不会连接,也不会做任何事情。脚本显示套接字连接表单,然后单击“接受并连接”后,它应该连接到服务器,出现搜索表单,您可以开始搜索。这是它在php 5.2上的表现。但是由于我的服务器已经升级,它没有连接,当你单击“接受并连接”没有任何反应时,页面只会刷新自己,没有错误。我被困了!!!我不是程序员,但需要以某种方式让它工作,请帮助。
答案 0 :(得分:0)
乍一看php升级可能已经禁用了php.ini中的short_open_tag设置。快速解决此问题的方法是将脚本中的php open标记从<?
更改为<?php
。
看起来您可能正在使用以下行调用ImageMagick:
$command = escapeShellCmd("./convert -geometry $ImgWidthx$ImgHeight $desti1 $desti2");
使用双引号时,PHP将变量$ImgWidth
视为未定义的$ImgWidthx
。
快速解决方法是将变量与大括号分开,如此。
$command = escapeShellCmd("./convert -geometry {$ImgWidth}x{$ImgHeight} $desti1 $desti2");
希望这会有所帮助。此外,如果您在输出中更新了HTML doctype,请检查脚本中不推荐使用的HTML。