public目录下的php文件怎么执行

workers

问题描述

有些js插件里包含了php文件需要执行,比如百度editor编辑器,上传文件依赖的php文件在static目录下,如果想让这些php可以被执行,应该怎么处理了.

截图

826 1 2
1个回答

walkor

为了避免像php-fpm那样的安全风险,webman默认关闭了url直接访问某个php文件,不过config/app.php里加一个配置

'support_php_files' => true,

开启,但是要注意

  1. 但是无法使用$_GET $_POST等超全局变量(可以使用request()->get(),request()->post()等代替),
  2. 无法使用header() cookie()等php-fpm才支持的http协议相关函数
  3. php文件里不能有函数或者类的定义,否则会报函数 类重复定义错误

最后还是建议不要开启url访问php文件,因为开启后就像php-fpm一样有一些安全风险,例如当用户上传了一个恶意php文件,任何用户都可以通过url访问它,造成系统漏洞。webman默认无法通过url访问php文件就是为了规避这个风险。
建议将public下的php脚本在控制器里重写。

  • workers 2023-04-25

    好的谢谢老大 那我就在控制器里重写吧

  • tanhongbin 2023-04-25

    我好想发现商机了,是不是可以写一个webman版本的图文编辑器,付费使用

  • workers 2023-04-25

    写吧...

  • tanhongbin 2023-04-26

    我看了一下屁用没有,就是重写上传文件即可,别的不用写呀

年代过于久远,无法发表回答
🔝