WordPress显示PHP代码而不是菜单内容

将WordPress从本地环境移动到实时服务器后, 我在菜单上遇到了一个奇怪的问题。
在我的本地服务器上, 菜单显示正确, 而在实时服务器上, 仅显示了一部分菜单代码, 而不是实际菜单。 (基本上, 它会在数组的第一个参数中的=> 之后截断代码, 并输出其余代码, 而不显示菜单。)
本地服务器版本

WordPress显示PHP代码而不是菜单内容

文章图片
实时服务器版本
WordPress显示PHP代码而不是菜单内容

文章图片
其他所有东西都在工作-后端很好, 所有链接也都正常工作, 这使我认为迁移可以, 问题出在PHP本身。
header.php中菜单的整个代码如下所示(两个菜单彼此相邻):
< div class="collapse navbar-collapse" id="main-navigation-collapse"> < ? wp_nav_menu (array( 'sort_column' => 'menu_order', 'menu_class' => 'nav navbar-nav list-inline', 'theme_location' => 'primary' )); ?> < ? wp_nav_menu (array( 'sort_column' => 'menu_order', 'menu_class' => 'nav navbar-nav navbar-right list-inline', 'theme_location' => 'top-menu' )); ?> < /div>

菜单是在functions.php中注册的, 如下所示:
register_nav_menus( array( 'primary' => __( 'Primary Menu', 'be-emobil' ), 'top-menu' => __('Top Menu', 'be-emobil'), 'footer-menu' => __('Footer Menu', 'be-emobil'), 'footer-menu-2' => __('Footer Menu 2', 'be-emobil') ) );

一些可能有用的信息:
  • 我使用_s(下划线)主题作为基础。
  • 本地PHP版本是5.6.7
  • 实时PHP版本是5.6.8-pl0-gentoo
知道为什么会发生这种情况, 或者如何找出问题所在吗?
#1 你的实时服务器未启用短标签。
你可以执行以下操作:
  • 更改< ?到< ?php
  • 在php.ini中启用短标签
  • 在.htaccess文件中启用短标签
  • 使用php ini_set启用文件中的短标签
根据你对实时服务器上php.ini, .htaccess等的访问, 你将需要相应地选择解决方案
#2 尝试启用短标签?

short_open_tag=On

到你的php.ini并重新启动php-fpm, 然后你将Web服务器。
#3 【WordPress显示PHP代码而不是菜单内容】替换你的快捷标签< ?使用< ?php时, 它们并不能在所有环境下正常工作。或者, 如果可以访问, 请尝试在php.ini中将其打开。

    推荐阅读