Laravel+Dingo API 报错:未配置 API 域名或前缀
###遇到问题背景
1.在帮别人部署项目的时候,项目是laravel5.7,部署的时候遇到了这个错误,环境是宝塔的环境
###具体问题
[2025-10-16 18:45:16] production.ERROR: RuntimeException: Unable to boot ApiServiceProvider, configure an API domain or prefix. in /www/wwwroot/111.228.13.26_8082/vendor/dingo/api/src/Provider/DingoServiceProvider.php:83
###原因所在
添加 setting 到服务器环境变量。 环境变量仅存活于当前请求期间。 在请求结束时环境会恢复到初始状态。
设置特定的环境变量也有可能是一个潜在的安全漏洞。 safe_mode_allowed_env_vars 包含了一个以逗号分隔的前缀列表。 在安全模式下,用户可以仅能修改用该指令设定的前缀名称的指令。 默认情况下,用户仅能够修改以 PHP_ 开头的环境变量(例如 PHP_FOO=BAR)。 注意:如果此指令是空的,PHP允许用户设定任意环境变量!
safe_mode_protected_env_vars 指令包含了逗号分隔的环境变量列表,使用户最终无法通过 putenv() 修改。 即使
safe_mode_allowed_env_vars 设置允许修改,这些变量也会被保护。
###解决方法
1.在宝塔PHP的禁用函数中删除phpenv这个函数
2.重启php就好了
本作品采用《CC 协议》,转载必须注明作者和本文链接