1. 程式人生 > >記Laravel框架學習過程中踩過的種種坑

記Laravel框架學習過程中踩過的種種坑

# 網站開發完成,要部署到apache伺服器上時,只能顯示/public下的主頁,訪問其他頁面則404

造成這個問題的原因主要有兩點:
1. apache沒有開啟對.htaccess的重寫許可權
2. apache配置虛擬主機時,少配置了一層。應該是 /www/myapp/public 而不是 /www/myapp

具體到我這兒的這個問題,是由這兩點原因共同造成的。可是由於大多數人的問題是由第1個原因造成的,導致我搜索了很多文章,也完全做好了原因1的配置,可是還是不能成功執行。還好#StackOverflow的這個問題Alexey Mezenin這個老哥的回答中指出:要具體到public目錄,才最終解決了問題。

  • 解決問題1
    到apache的httpd.conf檔案中,找到
#LoadModule rewrite_module modules/mod_rewrite.so

這一行,把註釋去掉。再從你對應的目錄設定裡,把

AllowOverride None

改成

AllowOverride All

重啟apache,就好了。

  • 解決問題2
    到相應的目錄設定處,或虛擬主機設定處,把 public 目錄加上就好了。

# Auth::attemp()驗證登入,總是失敗

造成這個問題的原因是,我手賤自己用md5把密碼加密後存庫了。登入驗證時又把request裡的密碼加了md5去和資料庫對比。

實際上,這個方法會對前臺來的明文密碼直接加密,所以如果再對request裡的密碼用md5相當於加密了兩次當然不對了。
然後測試用建立資料庫使用者記錄的時候,通過tinker,呼叫Hash::make()方法,就可以用和這個方法一致的加密方式進行加密了。