php - 如何为不同的部署环境更新 PHP 文件路径
问题描述
我希望根据环境更新模型/控制器的文件路径,或者就此而言,甚至将基本的 about.php 更新为没有 .php 扩展名的东西,如源代码中的 about/。
为什么?不想透露安全的实际路径和变量。
例如:
当我在 DEV 环境中调用 delete_user 控制器时,当前href
in<a>
标记指向delete_user.php
将 User-ID 作为 GET 变量传递。然后有一个控制器运行 DELETE SQL 查询,并重定向回调用页面。
<a href="delete_user.php?delete_user_id=<?= $row['user_id'] ?>" class="table-action table-action-delete" data-toggle="tooltip" data-original-title="Delete">
</a>
在生产环境中,我希望将href
其改为delete-user/user-id
.
现在,应该跨环境无缝更新和解释 href 文件路径。
<a href="delete-user/<?= $row['user_id'] ?>" class="table-action table-action-delete" data-toggle="tooltip" data-original-title="Delete">
</a>
环境:NGINX,PHP7.4(LEMP)
在 PHP 中实现这一目标的最佳且可扩展的方法是什么?
解决方案
您可以在 php-fmp 设置中添加环境变量并在代码中读取这些变量。这将取决于您的服务器设置,因此您可以搜索所需的内容。
https://www.digitalocean.com/community/questions/setting-environment-variables-in-php-fpm
然后在您的 php 中,您可以使用$_ENV
或访问这些变量getenv()
https://www.php.net/manual/en/reserved.variables.environment.php
https://www.php.net/manual/en/function.getenv.php
或者,$_SERVER
变量的某些字段可能可以满足您的需要,但这些字段将特定于您的设置,因此您需要var_dump($_SERVER)
在开发环境和生产环境中找到适合您的字段。
推荐阅读
- python - 如何通过 Python 打开不同类型的网络浏览器?
- ssh - Ansible Notebook ping 用户的问题
- java - Java Get String Between Two Strings
- xml - 为什么我的模态底页没有挡住主屏幕?
- c# - 比较 razor 上的两个列表并按最新排序(都已创建日期时间)
- python - AttributeError 在 Herepy 中实现自行车路由功能
- java - 将 Java 版本从 1.8 更改为 13 会导致问题
- python - Flask-Caching FileSystemCache 方法在超时时不会删除缓存项
- javascript - 当 Redux 状态改变时 React 不会重新渲染
- c# - Xamarin BLE 插件:ListView 不显示扫描设备的信息