PHP:脚本仅适用于某些机器

时间:2013-08-02 02:53:22

标签: php javascript apache

我遇到过最奇怪的PHP问题。有些PHP代码只能在某些机器上运行。

客户致电解决问题。该文件的名称是portada.html

之前我曾见过该网站,但效果很好。我知道PHP代码通常在.php文件上运行,但是这个曾经在这个.html文件上运行得很好。也许是一些apache conf或他们以前的Web开发人员所做的事情。

所以现在它在你使用某些机器时运行正常,但在其他机器上它运行不正常。任何人都知道为什么会发生这样的事情?

这是运行不正常的代码。

<script language="" type="text/javascript">
var so = new SWFObject("gallery.swf?xmlPath=galleries/gallery__something_<?
  $sql_conf="select galeria_something from ct_conf";
  $res_conf=mysql_query($sql_conf);
  $row_conf=mysql_fetch_assoc($res_conf);
  echo $row_conf["galeria_something"];
?>.xml", "something", "320", "238", 7, "");
so.addParam("allowScriptAccess", "sameDomain")
so.addParam("quality", "high");
so.addParam("scale", "noscale");
so.write("renta");
</script>

代码在Google Chrome上执行,而不是在Firefox上执行

3 个答案:

答案 0 :(得分:1)

你说文件名是portada.html。如果这是正确的并且它没有保存为.php文件,那么您还需要确保服务器将.html文件识别为需要由PHP解释器处理。您可以通过添加:

从.htaccess文件执行此操作
AddType application/x-httpd-php .html

答案 1 :(得分:0)

不能肯定地说,但它可能与你使用短标签有关,通常默认情况下禁用短标签。尝试使用<?php而不是<?

此外,您的查询在Linux服务器上可能区分大小写,但在Windows服务器上则不区分。

答案 2 :(得分:0)

使您在许多机器上兼容代码:

  1. 请勿使用短标记<?,请使用完整标记<?php
  2. 请勿使用mysql_query等弃用函数,使用mysqli_queryhttp://www.php.net/manual/en/book.mysqli.php
  3. 启用完整错误报告以检查兼容性:ini_set('display_errors', 1); error_reporting(E_ALL);