我试图在一个项目上执行一些PHP代码(使用Dreamweaver),但代码没有运行。

当我检查源代码时,PHP代码显示为HTML标记(我可以在源代码中看到它)。Apache运行正常(我正在使用XAMPP), PHP页面正在正常打开,但PHP代码没有被执行。

有人有什么建议吗?

注意:该文件已经命名为filename.php

编辑: 代码. .:

<?
include_once("/code/configs.php");
?>


当前回答

这是我的。htaccess

DirectoryIndex index.html index.htm

index.html包含PHP代码。默认情况下,PHP不会将扩展名为htm*的文件作为PHP代码处理。

你可以通过在.htaccess中添加以下内容来覆盖它:

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>

其他回答

It is possible to install phpmyadmin on raspberry 64 bit and it even was not difficult in my case. I am running several hp-laptops with openSuse Tumbleweed and some Raspberries. On the latest Raspberry 3 B + I 64bit raspbian buster light, kde plasma Desktop. Linux raspi10 5.10.60-v8+ #1449 SMP PREEMPT Wed Aug 25 15:01:33 BST 2021 aarch64 GNU/Linux I am using nginx 1.14.2 with fastcgi (not using 'sock') and php 8.0.10 (php-fpm). I downloaded 'composer' first. (Use apt or aptitude for that). After that go to https://docs.phpmyadmin.net/en/latest/setup.html Look for the shell command

composer create-project phpmyadmin/phpmyadmin

它将在当前目录中安装一个完整的目录'phpmyadmin'。 移动到/var/lib/并根据nginx.conf中的设置设置user:group权限 在我的例子中: chown -R www-data:www-data /var/lib/phpmyadmin

创建一个符号链接到/srv/www/public或/var/www/html或任何你的服务器正在寻找的东西。 您可以向phpMyAdmin添加第二个名为phpMyAdmin的符号链接 确保nginx.conf中的根指令相应设置。

我的nginx配置在我的所有机器上(几乎)是相同的。 它现在非常紧凑。 这是最简单的方法。所有进一步的服务器和功能可以稍后添加。 /etc/nginx/sites-enabled没有条目 /etc/nginx/vhosts.d中没有任何内容 从php.ini中的一个池开始。为了配置它,谷歌一点和测试 通过检查php-fpm的状态。

此问题的另一个可能原因可能是您试图在UserDir模块的“用户目录”中运行脚本。在用户目录下运行PHP脚本默认是禁用的。如果脚本位于主文件夹的public_html目录中,并且您试图从http://localhost/~your_username访问它,那么就会遇到这个问题。

要解决这个问题,打开/etc/apache2/mods-enabled/php7.2.conf。必须注释或删除底部的标记块

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

我知道这听起来很傻……但这种情况很少发生。

检查您是否试图从

**http://localhost/info.php**

而不是来自

file:///var/www/info.php

Ps >你可以注意到如果你从shell写

php info.php 

它回答的代码(它意味着PHP函数)..

如果你有这样的配置:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot "/var/www/example.com"

    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</VirtualHost>

取消httpd.conf中的下几行注释

LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so

这对我很有用

我认为问题是,它显示的代码而不是结果是,它不会去本地主机。重新检查你要去的地址。是到本地文件目录还是到本地主机。

从你发送的屏幕截图,它将到你的计算机,而不是到本地主机。

"file:/// "应该是"localhost/"