(还在更新排版中...)
原因
在Apache开启worker或者event配合PHP Thread-safe版本的多线程情况下,环境变量由各个PHP线程共享。
在前一个线程初始化/退出清理环境的时候,会影响到其他线程读取环境变量,导致phpdotenv无法获取到正确的值(被初始化),从而导致Laravel获取不到设定的config,导致config初始化。
解决方法
建立Config cache,就不用去调用DotEnv了
php artisan config:clear
php artisan config:cache
参考资料
https://laracasts.com/discuss/channels/general-discussion/env-not-reading-variables-sometimes
https://github.com/vlucas/phpdotenv/issues/160
https://bugs.php.net/bug.php?id=71607
https://bugs.php.net/bug.php?id=74986
https://laracasts.com/discuss/channels/general-discussion/issue-with-parallel-requests
ety007
ovear你好,想问下moetu是不维护了吗?这几天发现经常挂掉了,挺喜欢这个图床的,博客一直在用。
ovear 回复给 ety007
维护的呀,遇到了什么使用问题吗?