无法激活插件,因为它触发了致命错误:意外的“require_once”
Posted
技术标签:
【中文标题】无法激活插件,因为它触发了致命错误:意外的“require_once”【英文标题】:Plugin could not be activated because it triggered a fatal error: unexpected 'require_once' 【发布时间】:2015-11-18 20:23:16 【问题描述】:我正在尝试使用插件在 mysql 中创建自定义表。这是相同的代码:
<?php
/*
Plugin Name: Zenva User Table
Plugin URI: http://www.getevangelized.com
Description: A custom table for storing user data
Version: 1.0
Author: Manas Chaturvedi
Author URI: http:www.getevangelized.com
License: GPL2
*/
register_activation_hook(__FILE__, 'create_update_table');
function create_update_table()
global $wpdb;
$tablename = $wpdb->prefix."twitteruser";
if($wpdb->get_var("SHOW TABLES LIKE '$tablename'") != $tablename)
$sql = "CREATE TABLE `$tablename`(
`user_id` INT(20) NOT NULL AUTO_INCREMENT,
`twitter_handle` VARCHAR(100) NOT NULL,
`oauth_token` VARCHAR(200) NOT NULL,
`oauth_token_secret` VARCHAR(200) NOT NULL,
`created` DATETIME,
PRIMARY KEY (user_id)
);"
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
?>
但是,在从 WordPress 仪表板激活插件时,我遇到了以下错误:
Parse error: syntax error, unexpected 'require_once' (T_REQUIRE_ONCE) in /opt/lampp/htdocs/wordpress/wp-content/plugins/user_table/user_table.php on line 31
这里似乎有什么问题?我确实检查过我的 WordPress 安装中是否安装了 upgrade.php
文件。
这里似乎有什么问题?
【问题讨论】:
【参考方案1】:$sql = "…"
块末尾缺少分号。
$sql = "CREATE TABLE `$tablename`(
`user_id` INT(20) NOT NULL AUTO_INCREMENT,
`twitter_handle` VARCHAR(100) NOT NULL,
`oauth_token` VARCHAR(200) NOT NULL,
`oauth_token_secret` VARCHAR(200) NOT NULL,
`created` DATETIME,
PRIMARY KEY (user_id)
);"; // <---- here
【讨论】:
不敢相信我放错了分号。几个小时以来一直在尝试调试它。谢谢!以上是关于无法激活插件,因为它触发了致命错误:意外的“require_once”的主要内容,如果未能解决你的问题,请参考以下文章
如果显示致命错误,如何解决激活 WooCommerce 的问题?