wordpress PHP文件放在子目录中时不执行

weylhg0b  于 2023-08-03  发布在  WordPress
关注(0)|答案(3)|浏览(97)

我正在尝试将WordPress网站转移到客户端的服务器。客户端现有的网站运行在MODX(基于PHP的CMS)中。我在根目录中创建了一个名为“new”的子目录,并将我的Wordpress文件放在那里,这样我就可以先安装它,如果一切看起来都很好,把它移到根目录中。
但是,问题是我不能从那个子目录运行php文件。每次我导航到一个文件时,浏览器都会下载该文件,而不是运行它。我可以从根目录运行文件。
有人知道问题是什么吗?.htaccess中的某些内容可以阻止文件从子目录运行吗?

5sxhfpxr

5sxhfpxr1#

是的,.htaccess文件可能会阻止正确操作/访问子目录中的PHP文件。尝试完全删除.htaccess文件并报告结果。
我在伪造的.htaccess文件中看到过这个问题。

xuo3flqw

xuo3flqw2#

不要重命名.htaccess或将其删除。最好的方法是here,它建议在.htaccess文件中进行编辑。

qf9go6mv

qf9go6mv3#

在其他可能的原因中,子目录中存在.htacess文件通常会导致问题,特别是如果它设置的PHP版本与服务器上使用的版本不同。
我最近在尝试移植到PHP7时遇到了类似的问题,一些网站正在使用PHP5进行生产。
检查问题是否仅针对特定子文件夹,而不是所有子文件夹:

http://localhost/my-host-site/phpinfo.php  // showed PHP version as 7.1
http://localhost/my-host-site/new_folder/phpinfo.php  // showed PHP version as 7.1
http://localhost/my-host-site/buggy_folder/phpinfo.php // NOT WORKING

字符串
在错误的子文件夹中,PHP代码没有被解释。
我看了一下子文件夹;有一个.htacess文件,其内容是:

#PHP 5.6 : 
<FilesMatch \.php$>
SetHandler application/x-httpd-php56
</FilesMatch>
AddHandler application/x-httpd-php56 .php


我完全忘记了这个文件,它被用来强制远程服务器使用PHP 5.6。在本地服务器上,它阻止调用PHP 7.1来解释文件。

相关问题