PHP 5 不会运行缺少明确 `

PHP 5 不会运行缺少明确 `

我终于下定决心将我的 PHP/MySQL 安装升级到版本 5(我对 Apache 1.3 有太多依赖,网站使用 MySQL 4.x 和 PHP 4.x,还有一堆其他问题)。它有点工作正常,但只有我明确指定时才有效,<?php xxx ?>如果他们不明确指定,则不行,即<? xxx ?>

例如,测试 PHP 和 Apache 安装是否协同工作的典型脚本是:

  <? phpinfo(); ?>

这无法运行。但如果我将其更改为:

  <?php phpinfo(); ?>

...然后它运行正常,这表明 Apache 和 PHP 都已正确安装。MySQL 也可以运行,但我想使用 phpMyAdmin 来管理它,但其中的所有 PHP 脚本都使用<?而不是<?php,因此它不会执行任何操作。

不管怎样,我的 Apache httpd.conf 中有以下几行:

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

...我希望能够解决这个问题(即通过 PHP 模块的处理器运行所有带有 php 扩展名的文件)。

有任何想法吗?

或者我真的必须搜索并替换所有内容才能在这些脚本中明确指定 php(包括我没有编写的脚本)?我在 Windows(WinXP SP3)上运行,如果这对答案有任何影响。

编辑:

好吧,我错了,phpMyAdmin 使用了短标签。设置 short_open_tag = On 并不能解决问题。但是,进行此更改确实会导致之前无法加载的其他页面加载。我将重写代码以使用长标签,因为短标签已被弃用,但我仍在试图找出 phpMyAdmin 无法正常工作的原因。

答案1

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

phpinfo应该会告诉您文件的路径。Apache(实际上是 mod_php)可能使用其自己的路径,因此检查一下也无妨。

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

答案2

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

相关内容