simple-job-board 插件在实时服务器上抛出错误(在本地服务器上一切正常)。该错误发生在模板函数文件中。它无法识别$default_path 变量以下是错误日志:
未定义常量的使用DIR - 假定\'DIR\' in/wp-content/plugins/simple-job-board/public/partials/simple-job-board模板函数。php在线:
代码中$default_path 未定义:
// Get default template
if (!$template && $default_path !== false) {
$default_path = $default_path ? $default_path : untrailingslashit(plugin_dir_path(dirname(__DIR__))) . \'/templates/\';
if (file_exists(trailingslashit($default_path) . $template_name)) {
$template = trailingslashit($default_path) . $template_name;
}
}
警告:include()[函数.include]:在/wp-content/plugins/simple-job-board/public/partials/simple-job-board模板函数中,文件名不能为空。php在线:
include( locate_simple_job_board_template($template_name, $template_path, $default_path) );
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
很可能您使用的是非常旧的PHP版本。
我为什么这么认为?因为第一条警告说__DIR__
无法识别。它是PHPs神奇常量之一,应该包含文件的目录。
它是在PHP5.3.0中引入的,所以如果出现这种错误,那么您必须使用旧版本。
这个问题导致了另一个问题。。。$default_path
设置为DIR/templates/
而不是正确的路径templates
文件夹因此,下一个条件(检查文件是否存在)为false$template_name
从未设置。。。
How to fix that problem?
升级PHP版本。5.6是仍然受支持的最低版本(仅安全支持)。
http://php.net/supported-versions.php