我开始了一个新OpenShift 上的 Laravel 5.0 快速入门默认的 laravel 主页和 auth 页面工作正常。我更改了 OpenShift 环境变量,如下所示:
> rhc env set APP_DEBUG=true
> rhc env set APP_ENV=development
请注意,对的更改APP_DEBUG
是无意的。我最初只是想触摸APP_ENV
,然后如果我理解正确的话,OpenShift 操作挂钩应该相应地设置其他环境变量。我仍然怀疑无论我是否犯了这个错误,下面描述的问题都会出现。
无论如何,在执行上述两个命令后,我无法再重新启动。失败如下:
> rhc app restart -a php
Failed to execute action hook 'pre_restart' for {id} application php
Failed to execute action hook 'pre_restart' for {id} application php
我从网络界面得到了这条较长的消息:
Setting environment variables...
/usr/lib/openshift/cartridge_sdk/bash/sdk: line 154: /var/lib/openshift/{id}//.env/user_vars/APP_ENV: Permission denied
Setting environment variables...
/usr/lib/openshift/cartridge_sdk/bash/sdk: line 154: /var/lib/openshift/{id}//.env/user_vars/APP_ENV: Permission denied
Failed to execute action hook 'pre_restart' for {id} application php
Failed to execute action hook 'pre_restart' for {id} application php
我已经设置得足够早了,因此作为最后的手段,我可以从头开始。但是,我想了解将环境变量从生产环境更改为开发环境并返回的可靠方法。此外,这里使用了哪些权限,有没有办法管理它们,以便操作挂钩不会遇到“权限被拒绝”?
感谢您的帮助。如果我能澄清任何事情,请告诉我。
答案1
要切换环境,只需将APPLICATION_ENV
环境变量设置为development
。不要直接设置APP_DEBUG
和APP_ENV
。查看 QuickStart 附带的 readme.md 文件:https://github.com/luciddreamz/laravel#development-mode