我试图在一个项目上执行一些PHP代码(使用Dreamweaver),但代码没有运行。
当我检查源代码时,PHP代码显示为HTML标记(我可以在源代码中看到它)。Apache运行正常(我正在使用XAMPP), PHP页面正在正常打开,但PHP代码没有被执行。
有人有什么建议吗?
注意:该文件已经命名为filename.php
编辑: 代码. .:
<?
include_once("/code/configs.php");
?>
我试图在一个项目上执行一些PHP代码(使用Dreamweaver),但代码没有运行。
当我检查源代码时,PHP代码显示为HTML标记(我可以在源代码中看到它)。Apache运行正常(我正在使用XAMPP), PHP页面正在正常打开,但PHP代码没有被执行。
有人有什么建议吗?
注意:该文件已经命名为filename.php
编辑: 代码. .:
<?
include_once("/code/configs.php");
?>
当前回答
确保脚本包含
<?php
在应该执行的代码之前。<?之间不能有空格这里是PHP。
其他回答
听起来你的配置好像有问题,下面是一些你可以检查的东西:
Make sure that PHP is installed and running correctly. This may sound silly, but you never know. An easy way to check is to run php -v from a command line and see if returns version information or any errors. Make sure that the PHP module is listed and uncommented inside of your Apache's httpd.conf This should be something like LoadModule php5_module "c:/php/php5apache2_2.dll" in the file. Search for LoadModule php, and make sure that there is no comment (;) in front of it. Make sure that Apache's httpd.conf file has the PHP MIME type in it. This should be something like AddType application/x-httpd-php .php. This tells Apache to run .php files as PHP. Search for AddType, and then make sure there is an entry for PHP, and that it is uncommented. Make sure your file has the .php extension on it, or whichever extension specified in the MIME definition in point #3, otherwise it will not be executed as PHP. Make sure you are not using short tags in the PHP file (<?), these are not enabled on all servers by default and their use is discouraged. Use <?php instead (or enable short tags in your php.ini with short_open_tag=On if you have code that relies on them). Make sure you are accessing your file over your webserver using an URL like http://localhost/file.php not via local file access file://localhost/www/file.php
最后,查看PHP手册以获得更多的设置技巧。
此问题的另一个可能原因可能是您试图在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>
我发现了另一个导致这个问题的问题,并且已经解决了它。我不小心将脚本保存为UTF-16编码。PHP5似乎不能识别<?PHP标签默认为16位编码。
今天,PHP自带一个内置的web服务器,所以不需要进一步的安装,因此呈现PHP文件用于开发使用的最简单的方法之一是:
打开一个终端,切换到包含web应用程序的源目录(它的主文件通常称为index.php)。 在这个目录中,键入php -S localhost:7777(端口号是任意选择的)。 打开web浏览器,在地址栏中输入localhost:7777,就会呈现所需的网页。
如果您已经完成了访问,那么返回您的终端并按CTRL-C关闭开发服务器。
这个信息也是通过在终端中调用php——help来给出的,进一步的信息在https://www.php.net/manual/en/features.commandline.webserver.php中给出
对于运行php 7的LAMP的新设置 编辑/etc/httpd/conf/httpd.conf文件 注意:在更改任何内容之前,请确保对其进行备份。
把这个粘贴在文件的最底部:
<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
然后,搜索LoadModule并粘贴以下行:
LoadModule php7_module modules/libphp7.so
这一行将简单地要求httpd加载php 7模块
然后重启httpd