網頁

顯示具有 Laravel 標籤的文章。 顯示所有文章
顯示具有 Laravel 標籤的文章。 顯示所有文章

2020年1月30日 星期四

Laravel指定版本建立專案

Laravel的版本更新蠻快的,但主機的PHP常都在舊些的版本,例如沒指定版本都用到Laravel framework 6.X及PHP 7.2,但我還在用PHP 7.1,最新支援版本是5.8.35,所以在建立是要用以下的指令,demo是專案名,這樣即可。這邊做個筆記。

composer create-project laravel/laravel=5.8.* demo

參考網址:
Installing specific laravel version with composer create-project

2019年9月27日 星期五

Laravel網站網址設定

最近專案有個需求,客戶想要網址是他們的,但主機不放在他們那邊,這方式要用所謂的反向代理,這時網址的使用要全改用對方的網址才能正常執行,依我5.8.35的版本看了下.env及app.php的設定,更動了APP_URL及ASSET_URL的設定,本來預期是可以用的,卻發現使用route來取得url的都沒有使用APP_URL的設定,查半天,看起來不知是哪個版本開始,url就只使用在command執行,找半天找到這討論串:route() helper function does not acknowledge app.url,裡頭提到可以使用Url::forceRoot('https://www.google.com/'),但不知道要放哪,後來放到web.app中,就可以用了。真是太好了!!!

----更新----
另外也可以如tadeubarbosa/RouteServiceProvider.php所示,將app/Providers/RouteServiceProvider的boot改寫,加入foreRootUrl的設定,也是可以達到相同的需求

參考網址:
route() helper function does not acknowledge app.url
tadeubarbosa/RouteServiceProvider.php

2016年5月24日 星期二

修正laravel中Prepared statement needs to be re-prepared

最近一個案子將對方的整個DB匯出,重新匯入自己的DB後,啟動網站一直出現底下訊息
General error: 1615 Prepared statement needs to be re-prepared

看起來跟msyql本身的設定有關,在.my.cnf下加入底下設定,重新啟動即可

table_open_cache_instances=2 #http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_open_cache_instances
table_open_cache=16384       #http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_open_cache
table_definition_cache=16384 #http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_definition_cache
tmp_table_size=64M           #http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_tmp_table_size
join_buffer_size=512k        #http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_join_buffer_size

參考網址:
http://bugs.mysql.com/bug.php?id=42041
The Abstracts of My Brain
MySQL優化(mysql ERROR 1040 (00000): Too many connections)

2015年8月1日 星期六

設定好router卻無法直接在url上直接使用

安裝好Laravel後,在看router這篇時,寫成底下這樣
Route::get('lava', function () {
    return 'Hello World';
});

卻發現無法直接使用http://localhost/~alvin/lara/lava,而要用http://localhost/~alvin/lara/index.php/lava,多了index.php實在很奇怪。雖然認為問題出在.htaccess,但一直不知道是什麼問題,看了這篇.htaccess rewriterule not working correct on mac才想到因為Mac上我是直接使用user下的Sites,所以應該要做RewriteBase的設定才是,如下設定
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On
    RewriteBase /~alvin/lara #新增這行

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

這樣就可以正常使用了

參考網址:
How can I remove “public/index.php” in the url generated laravel?
.htaccess rewriterule not working correct on mac

2012年11月3日 星期六

LARAVEL開發筆記-使用Route,卻一直無法成功

昨天一直想用Laravel先做出一個網頁,當作一個開端,但只是在route.php上加上

Route::get('hello', function(){
   return 'Hello!';
});


就一直無法成功。
php artisan route:call get hello

發現有成功回傳,但怎做都無法成功,不服氣的一直徹夜查到的結果是

在httpd.conf中加上一段

<Directory /volume/html/booiki/courses_demo>
   AllowOverride All
</Directory>


原來是無法Override掉網址,就完全ok了....我被ko了....orz 昨天真的不是很順,雖然最後因為知識的累積,想起這麼做....

2012年10月30日 星期二

LARAVEL開發筆記-安裝

PHP可用的工具超級多,之前朋友介紹Laravel這套,一直因為權限問題而沒成功,找不出系統哪邊出問題,之前解決系統上權限問題(見CentOS筆記-php執行在正確的使用者下,仍回應permission deny的原因之一),回想起這件事,今天就來試了下,果然是同個原因。

Step 1. 下載且解壓縮
到官網,右上角就有個Download按鈕,按了就下載到zip檔,上傳到主機上網站根目錄,再解壓縮,如:
unzip laravel-laravel-v3.2.10-11-g115f59b.zip

git下載
git clone https://github.com/laravel/laravel.git

記得將目錄改成自己要的名稱,例如我是:lav

Step 2. 進入目錄下的application/config/,找到application.php
更動

# 網站根目錄設定
'url' => 'http://localhost/lav/public/',


再執行http://localhost/lav/public/,這樣就ok了


參考網址:
官網:http://laravel.com/
輕量級 A Clean & Classy PHP Framework Laravel 簡介安裝