我安装了 LAMP
sudo tasksel install lamp-server
我可以运行我的网站,但 php 代码只是显示为文本。
我努力了这解决方案,但它对我没有帮助。
当我尝试使用终端运行 php 脚本时:
user@pc:~/ooo$ php index.htm
我只得到 php 代码。
什么时候
sudo /etc/init.d/apache2 status
php -v
我明白了
* apache2 is running
PHP 5.5.9-1ubuntu4 (cli) (built: Apr 9 2014 17:11:57)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
如何解决这个问题?
答案1
通过查看您上次更新的编辑,我发现文件未保存为index.php
。您会看到,当您将其保存在或扩展名php
上时,脚本将不起作用。为了使文件生效,您需要重命名为。.htm
.html
php
index.htm
index.php
编辑
根据我最后一条带有测试 php 脚本链接的评论,看来你的php
包或灯服务器。这和你的脚本本身有关php
。最好仔细检查一下脚本,然后修复它,让它得到正确的结果。
希望这可以帮助!
答案2
代码似乎使用了短标签,<? ?>
而不是普通标签<?php ?>
。您需要在 php.ini 中启用短标签。
在 php.ini 中找到:short_open_tag
将其设置为 1 并重新启动 Apache。
答案3
看起来您的脚本没有传递给 php 解释器,而只是输出了文件的文本。这是一个常见错误,几乎总是由于以下原因造成的:
- 使用除 php 之外的扩展名的文件(例如 htm 或 html)
- 没有使用 php 标签
<?php ... ?>
或者像 Nathan 提到的那样使用了不当的标签。
您可能会看到其他服务器使用除 之外的文件扩展名.php
或使用简写标签。
可以将以下两项配置为允许:
短标签曾经默认允许使用,但现在已经不再受欢迎。<?php ?>
如果您开始使用新东西或刚刚学习 PHP,最好使用完整标签。
答案4
我刚刚遇到了同样的问题。您需要先检查您的 PHP 版本。
php -v
安装后libapache2-mod-phpX
X= 您的 php 版本号。它会要求提供一些依赖项,全部选择“是”。