全新安装 Mountain Lion MAMP 后出现问题,出现 php 分段错误和解析错误

全新安装 Mountain Lion MAMP 后出现问题,出现 php 分段错误和解析错误

我正在开发一个 wordpress 主题/插件,愚蠢地决定升级到 Mountain Lion。我将其作为全新副本安装。

但现在,我遇到了奇怪的错误。

我注意到的第一个错误是我的插件的一部分不再起作用,它引发错误:

PHP Parse error:  parse error in /Library/WebServer/Documents/wordpress/wp-content/plugins/sendpress/inc/forms/email-style.2.0.php on line 309, referer: http://localhost/wordpress/wp-admin/

第 309 行:(顺便说一句,删除此代码并运行网站后一切正常)

                        <?if ( false !== $this->get_option('canspam') ){
                            echo wpautop( $this->get_option('canspam') );

                        } else { ?> 
                        Blog/Company Name<br>
                                Street Address<br>
                                Anywhere, USA 01234<br>
<?php } ?>
                            </div><br>

此前并未出现过任何错误。

最重要的是,当我将其放入 functions.php 中时,会出现 php 分段错误

// This function adds javascripts in a proper manner
function holidayge_theme_js() {
    if (!is_admin()) {
        wp_enqueue_script( 'tabs', get_bloginfo('template_directory').'/js/tabs.js' );
        wp_enqueue_script( 'lionbars', get_bloginfo('template_directory').'/js/jquery.lionbars.0.3.js' );
        wp_enqueue_script( 'slides', get_bloginfo('template_directory').'/js/slides.jquery.js' );
        wp_enqueue_script( 'dropp', get_bloginfo('template_directory').'/js/jquery.dropp.js' );
        wp_enqueue_script( 'selectconvert', get_bloginfo('template_directory').'/js/selectConvert.js' );
        wp_enqueue_script( 'easypaginate', get_bloginfo('template_directory').'/js/easypaginate.js' );
        wp_enqueue_script( 'adgallery', get_bloginfo('template_directory').'/js/jquery.ad-gallery.js' );
        wp_enqueue_script( 'simplemodal', get_bloginfo('template_directory').'/js/jquery.simplemodal.js' );
        wp_enqueue_script( 'settings', get_bloginfo('template_directory').'/js/settings.js' );
}
add_action('init', 'holidayge_theme_js');

Apache 错误:

[Fri Jul 27 10:00:35 2012] [notice] child pid 662 exit signal Segmentation fault (11)
[Fri Jul 27 10:00:42 2012] [notice] child pid 653 exit signal Segmentation fault (11)

附言:是的,我需要因为升级到 1.0 版操作系统而受到惩罚。

答案1

我不确定导致分段错误的问题是什么,但也许是没有启用短 PHP 标记代码,从而导致语法错误?

<?php if ( false !== $this->get_option('canspam') ){
    echo wpautop( $this->get_option('canspam') );
} else { ?>

答案2

不确定是否是复制代码的错误,但是你的 if 语句没有关闭:

// This function adds javascripts in a proper manner
    function holidayge_theme_js() {
        if (!is_admin()) {
            wp_enqueue_script( 'tabs', get_bloginfo('template_directory').'/js/tabs.js' );
            wp_enqueue_script( 'lionbars', get_bloginfo('template_directory').'/js/jquery.lionbars.0.3.js' );
            wp_enqueue_script( 'slides', get_bloginfo('template_directory').'/js/slides.jquery.js' );
            wp_enqueue_script( 'dropp', get_bloginfo('template_directory').'/js/jquery.dropp.js' );
            wp_enqueue_script( 'selectconvert', get_bloginfo('template_directory').'/js/selectConvert.js' );
            wp_enqueue_script( 'easypaginate', get_bloginfo('template_directory').'/js/easypaginate.js' );
            wp_enqueue_script( 'adgallery', get_bloginfo('template_directory').'/js/jquery.ad-gallery.js' );
            wp_enqueue_script( 'simplemodal', get_bloginfo('template_directory').'/js/jquery.simplemodal.js' );
            wp_enqueue_script( 'settings', get_bloginfo('template_directory').'/js/settings.js' );
        }
    }
    add_action('init', 'holidayge_theme_js');

相关内容