slim php dd model,PHP全局使用Laravel辅助函数dump和dd
參考了PHP 全局使用 Laravel 輔助函數 dd中的內容,只是針對我自己配置過程中出現的問題進行一次總結。
Composer的COMPOSER_HOME環境變量不同
根據composer官方說明,如果系統沒有COMPOSER_HOME環境變量,它在各個系統上的默認值分別為:*nix /home//.composer。
OSX /Users//.composer。
Windows C:\Users\\AppData\Roaming\Composer。
但是我的卻不是。我的本級默認地址為~/.cache/composer,所以最簡單的方法是直接使用了export進行導入export COMPOSER_HOME=$HOME/.composer #將這行加入到.bashrc或.bash_profile或.zshrc
開發環境不同
原文中使用的是vagrant+homestead開發環境,而我本地使用的是vagrant+lnmp的一鍵安裝包,區別就在于homestead環境的登錄用戶及nginx用戶都是vagrant。而我本機的登錄用戶為vagrant,而nginx用戶為www。
全局composer安裝后我將auto_prepend_file = /home/vagrant/.composer/vendor/autoload.php加入到php.ini中發現報如下錯誤:Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Fatal error: Unknown: Failed opening required '/home/vagrant/.composer/vendor/autoload.php' (include_path='.:/usr/local/php/lib/php') in Unknown on line 0
但是我在CLI下執行一個test.php程序發現是可以正常調用的。所以第一反應也是www用戶沒有權限導致。于是我將www用戶加入到了vagrant用戶組:usermod -a G vagrant www
到這里以為大功告成,沒想到問題依舊如上。
參考了網上的大多數教程,也包括把autoload.php修改為777權限依然不行。最后的最后我執行下面的命令:[root@localhost home]# ll
total 0
drwx------. 6 vagrant vagrant 167 Oct 11 17:12 vagrant
看到這里我也是醉了,因為/home/vagrant的g和o都沒有權限,所以導致nginx的www用戶都進入不了/home/vagrant目錄所以才會報出Permission denied。于是我直接chmod 750 vagrant
其是最根本的原因依然是登錄用戶與nginx執行用戶不一樣導致權限問題。不解的是不知道為什么useradd添加的用戶家目錄是700。猜測可能是和umask有關
---update---
查了資料發現之所以用戶的家目錄權限為700是因為在/etc/login.defs中有有一個配置UMASK 077 #用戶家目錄建立的 umask ,因此權限會是 700
所以最終的權限為777-077=700
總結
以上是生活随笔為你收集整理的slim php dd model,PHP全局使用Laravel辅助函数dump和dd的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php调用其它控制器,TP框架控制器里面
- 下一篇: java游戏2333整合包,我的世界魔法