我将我的 Wordpress 实例从 4.5 升级到 4.8,由于某种原因,我的布尔环境变量现在作为“false”字符串返回而不是false. 因为我的 PHP 版本没有改变,所以我对这个改变感到有点困惑。然而,更重要的是,关于未来,通过环境变量管理将布尔值导入 PHP 的最佳方法是什么?
这是我拥有的 .env 行:
WP_FORCE_SSL_ADMIN=false
Run Code Online (Sandbox Code Playgroud)
这是我在 wp-config.php 中true由于字符串转换而返回的行。
define('FORCE_SSL_ADMIN', getenv('WP_FORCE_SSL_ADMIN'));
Run Code Online (Sandbox Code Playgroud)
这是 var_dump:
["WP_FORCE_SSL_ADMIN"]=>
string(5) "false"
Run Code Online (Sandbox Code Playgroud)
我知道我可以简单地重构定义来解释字符串转换,但我很烦恼我不明白什么时候不应该有什么改变。这适用于 wordpress 4.5 版。
寻找一个答案来解释将布尔变量从我的环境传递到 PHP 的最佳方法,还是我总是必须考虑字符串转换?
以防万一有人来这里寻找我如何解决它的答案,我所做的只是与“true”字符串进行比较。
define('FORCE_SSL_ADMIN', strtolower(getenv('WP_FORCE_SSL_ADMIN')) === "true");
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但对我来说仍然感觉不太正确,就像我错过了一些东西。
| 归档时间: |
|
| 查看次数: |
3088 次 |
| 最近记录: |