PHP 5不会运行缺less显式`<?php`的脚本

我终于咬紧牙关,把我的PHP / MySQL安装升级到版本5(我对Apache 1.3的依赖太多,使用MySQL 4.x和PHP 4.x的站点以及其他一些问题)。 这是有点工作,但只有当我明确指定<?php xxx ?>但如果他们不,即, <? xxx ?> <? xxx ?>

例如,testingPHP和Apache安装是否一起工作的典型脚本是:

  <? phpinfo(); ?> 

这不会运行。 但是,如果我改变它:

  <?php phpinfo(); ?> 

然后它运行得很好,这表明Apache和PHP都正确安装。 MySQL也在工作,但是我想用phpMyAdmin来pipe理它,但是其中的所有PHP脚本都使用<? 而不是<?php ,所以它不会做任何事情。

对于它的价值,我已经在我的Apache httpd.conf中获得这些行:

  AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 

…我期望照顾这个问题(即通过PHP模块的处理器运行所有带有php扩展名的文件)。

有任何想法吗?

或者我真的不得不search并replace所有的东西,以明确指定这些脚本中的PHP(包括我没有写的)? 我在Windows(WinXP SP3)上运行,如果这在答案中有任何区别。

编辑:

好的,我错了phpMyAdmin使用短标签。 设置short_open_tag =开不能解决问题。 但是,进行此更改确实会导致其他页面无法加载。 我将重写代码以使用长标记,因为短标记已被弃用,但是我仍然试图找出为什么phpMyAdmin不起作用。

检查你的php.ini short_open_tag是否设置为1。 它应该是。

phpinfo应该告诉你文件的path。 实际上Apache(mod_php)可能会使用自己的,所以检查不会受到伤害。

http://php.net/manual/en/ini.core.php

如果浏览phpMyAdmin时没有错误,请检查apache错误日志。 我认为有一些php模块是phpMyAdmin需要的,缺less或未启用。