![](/img/trans.png)
[英]Laravel 4.2 services.json file is created in the root of the host
[英]Laravel log file created with root:root instead of webapp:webapp
在我的應用程序中,我使用laravel.log文件,該文件每天在世界標准時間00:00創建。 但是,有時該文件是使用root:root用戶/組而不是通常的webapp:webapp(apache用戶)創建的。 這會使我的應用程序崩潰,因為該應用程序無法再對其進行寫入。 我注意到文件寫入了一段時間(幾分鍾后)后,文件所有權可能會發生變化。
存儲目錄和文件的權限不是問題,因為它已經運行了很長時間了。 只是laravel.log文件的所有權偶爾更改而無需干預。
您應該使用php_sapi_name()而不是get_current_user()。 正如傑森(Jason)對您嘗試的相同答案的評論中所述。
請注意,get_current_user()返回當前PHP腳本的所有者(根據php.net),而不是當前正在運行該腳本的用戶。 我改用php_sapi_name(),它給出了將以不同用戶身份運行的php處理程序的名稱(例如,apache或cli)。
這樣,您將為Web服務器和命令行獲取2個單獨的日志(包括隊列偵聽器)。
在這里找到解決方案。
他的解決方案使我意識到問題出在我的隊列偵聽器上。 在極少數情況下,當我的Web應用程序有機會在午夜UTC之后(幾分鍾內)旋轉日志文件之前,我的隊列偵聽器啟動時,該文件將以root所有者的身份創建。
我修改了日志文件名以包括當前用戶,從而隔離了每個用戶的日志,避免了任何權限問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.