如何在wordpress中允许require_once()到php文件

El *_*mer 4 php wordpress .htaccess require-once

我有一个由wordpress制作的网站,我制作了一些我想要执行的php文件,由于某种原因我需要require_once(/wp-includes/class-phpass.php),但我得到了失败打开所需的错误,有一个htaccess文件在根文件夹中并且在wp-includes文件夹中不存在htaccess包含这个:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
Run Code Online (Sandbox Code Playgroud)

那怎么解决这个问题?!, 谢谢

编辑

我的wordpress没有安装在root文件夹中,就像root/live一样

Nie*_*jes 11

假设这是你的文字代码:

require_once('/wp-includes/class-phpass.php');
Run Code Online (Sandbox Code Playgroud)

难怪无法找到文件,因为require在文件系统级别上运行,所以你可能需要这样的东西/var/www/mysite/wp-includes/class-phpass.php.

你应该能够让它像这样工作:

require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-includes/class-phpass.php';
Run Code Online (Sandbox Code Playgroud)

这将在子路径之前插入网站的当前根路径.$_SERVER['DOCUMENT_ROOT']默认情况下,PHP具有"根路径"的唯一外观,除非您更好地教它.

  • 是的,我像瘟疫一样避免使用Wordpress,所以我不知道它的所有自定义常量.我明确表示'应该能够让它工作',因为它可能在根目录中.如果`BASE_PATH`****可用,你仍然应该更喜欢基于`__DIR__`的相对路径.但我会删除这个答案,因为你的WP更完整. (2认同)