我终于下定决心将我的 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)可能使用其自己的路径,因此检查一下也无妨。
答案2
如果浏览 phpMyAdmin 时没有错误,请检查 apache 错误日志。我认为 phpMyAdmin 所需的某些 php 模块缺失或未启用。