为了运行,WPML要求如下:
- WordPress4.7或以上版本
- PHP 5.6或以上版本,内存限制至少为128MB,推荐256MB(请参阅WP内存设置)。 请记住,网站所需的内存取决于内容、主题和所有插件。
- MySQL 5.6 及以上版本。 您也可使用MariaDB 10.1或更高版本。
- 您可以在数据库中创建表。
- 必须启用WordPress REST API才能让WPML正常运行。
- Multibyte String 扩展,便于使用WPML字符串翻译
- SimpleXML扩展,便于在WPML翻译管理中使用XLIFF文件。
- eval() PHP 函数必须启用。 有关这方面的更多信息,请参见关于eval()的部分。
- libxml PHP Module 2.7.8或更高版本
使用早期版本的PHP和MySQL
WPML可以运行在早期版本的PHP和MySQL上,但是我们无法测试。 如果您正在使用早期版本,我们强烈建议启用WPML的调试模式。 这将显示任何PHP错误,未按照应有的方式运行时会通知您。
关于兼容其他版本使用WPML,请随意在这里评论。
如何检查实际正在使用的PHP版本
一些共享托管公司同时安装了PHP5和PHP7。 检查实际使用版本的最佳方式是询问PHP处理器本身(而不是托管公司的技术人员)。
创建一个名为php_info.php的文件,并将其放在WordPress目录中(就在wp-config.php旁边)。 该文件应包含以下内容:
<?php phpinfo(); ?>
没有大问题了, 对吗? 如果需要,欢迎以ZIP文件的形式下载。 获取php_info.zip(当然,在上载到服务器之前需要解压)。
在那里,打开浏览器后前往: https://yourdomain.com/php_info.php .
应显示以下内容:
在顶部会显示运行的是哪个版本的PHP。 若显示PHP Version 5.5,就不会运行。 最好的办法是给您的托管公司发邮件,询问他们如何启用PHP 5.6或更高版本。
永久链接结构
WPML将语言信息添加到URL。 它已经通过以下永久链接结构进行了测试:
- 默认
- /%year%/%monthnum%/%postname%/
说明:
其他永久链接结构也可以工作运行,但在不同的配置上可能会产生问题。 在我们所有的网站上,我们都在使用 /%year%/%monthnum%/%postname%/.
对于页面,您将获得与/%postname%/相同的URL。 然而,使用这种永久链接结构,WordPress不可能在页面和帖子之间混淆,从而引发语言解析的潜在问题。
eval()函数的用法
必须启用eval()函数,因为WPML的结构和模板使用了TWIG框架,这使得WPML可以依靠这个函数。
大多数流行的模板引擎,如Smarty和TWIG,都发现将PHP代码写入文件更快。 通过这种方式,它可以利用OPcode(操作码)缓存,并避免需要运行时构建模板代码。
为了避免可能的攻击,TWIG进行了大量的检查和消毒,可安全使用WPML。 然而,我们不能保证其他开发人员也进行了与我们在质量保证过程中所做的相同检查。
我们仍然在研究一些可能的解决方案,这些解决方案不需要动态编译模板,并且不需要使用eval()函数。 然而,目前,这是最好的解决方案。
请注意,通常PHP中不能禁用eval()函数,但Suhosin等一些扩展可以这样做。 这些扩展可以由您的主机提供商安装和配置。