首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不能在php.ini池或php.ini中禁用回显(disable_functions)?

问为什么不能在php.ini池或php.ini中禁用回显(disable_functions)?
EN

Unix & Linux用户
提问于 2021-09-12 05:47:42
回答 1查看 281关注 0票数 0

您会发现echo无法禁用。它将被忽略,并且在重新启动php-fpm服务时也不会抛出任何错误。也许没有真正的原因会导致您禁用echo,但是额外的知识总是受欢迎的。

测试配置可以是:

代码语言:javascript
复制
php_admin_value[disable_functions] = echo,exec,shell_exec,phpinfo

其他函数是“控制”函数,以确保池被正确读取。您将发现echo被忽略,但其他函数被正确禁用。

林克https://www.php.net/manual/en/ini.core.php说

使用此指令只能禁用内部函数。用户定义的函数不受影响。

那么为什么echo没有受到影响呢?这难道不是一种内部功能吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-09-12 05:47:42

回波不受影响的原因是因为ECHO不是一个函数。

在https://www.php.net/manual/en/function.echo.php中找到的信息

echo不是一个函数,而是一个语言结构。它的参数是echo关键字后面的表达式列表,用逗号分隔,而不是用括号分隔。与其他语言构造不同,echo没有任何返回值,因此不能在表达式的上下文中使用它。

自相矛盾的是,回声信息出现在PHP手册中的"String Function“部分,甚至链接到页面的链接上都写着”/Functions/en/Functions. ECHO .php“。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/668646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档