无法激活插件,因为它触发了致命错误:意外的“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”的主要内容,如果未能解决你的问题,请参考以下文章

亚马逊网络服务 WP 插件 cURL 错误

如果显示致命错误,如何解决激活 WooCommerce 的问题?

PHP:触发致命错误?

Wordpress 239 字符意外输出错误

我无法在 localhost 上激活我的 WordPress 插件

该插件在激活期间生成了xxx个字符的意外输出[重复]