php脚本停止在php 5.4.24上工作

时间:2014-02-05 21:11:24

标签: php sockets upgrade

我有一个用于工作的PHP脚本(它是一个用于自定义图像搜索引擎的php界面,按图像搜索,类似于Tineye和Google Image Search)。它曾经在php 5.2上正常工作,但在服务器升级到php 5.3和5.4后停止工作。这是脚本Client.php:

Client.txt

脚本很长,我无法在这里发布,因为有字符限制,所以我将其作为带有代码的文本文件上传。我想向你展示整个事情,因为我不确定哪个部分会导致新的php版本出现问题,但问题似乎是在socket连接部分的某个地方。

我检查了错误日志,它没有显示任何php错误,这就是问题,否则我至少知道从哪里开始。它不会连接,也不会做任何事情。脚本显示套接字连接表单,然后单击“接受并连接”后,它应该连接到服务器,出现搜索表单,您可以开始搜索。这是它在php 5.2上的表现。但是由于我的服务器已经升级,它没有连接,当你单击“接受并连接”没有任何反应时,页面只会刷新自己,没有错误。我被困了!!!我不是程序员,但需要以某种方式让它工作,请帮助。

1 个答案:

答案 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。