Laravel Artisan Migrate “Table Already Exists” or “Foreign Key” Error

在部署半年前用 Laravel 5.2 開發的專案時遇到不少問題,其中一個就是執行 php artisan migrate 之後卻遇到 Table Already Exists 的錯誤,但在這之前我從未建立過該 Table,後來深入研究發現該 Table 確實存在但 project_migrations Table 裡面卻沒有建立紀錄,於是我將 Table 手動刪除後在直接執行一次 php artisan migrate,果然,這次出現了真正的錯誤訊息:「General error: 1005 Can’t create table ‘dbname.#sql-fbc1_15e6’ (errno: 121) (SQL: alter table `karl_project` add constraint `project_user_id_foreign` foreign key (`user_id`) references `karl_user`
(`id`))」

閱讀全文《Laravel Artisan Migrate “Table Already Exists” or “Foreign Key” Error

手動編譯、安裝PHP Extension (Linux)

如果要幫PHP安裝Extension的話要怎麼做呢?很多人都會回答Pecl,這的確是一個很方便的安裝Extension的方式,不過如果你的Server上面沒有Pecl怎麼辦呢? 然後又因為某些原因不能安裝Pecl,這時候你就只好手動去編譯、安裝囉~ 而這篇文章也就是要教大家如何手動編譯PHP Extension在Linux上面

閱讀全文《手動編譯、安裝PHP Extension (Linux)

【PHP】透過glob、scandir、readdir取得資料夾內的檔案列表

有時候會需要寫PHP程式去取得指定資料夾內的檔案列表,例如在做網路硬碟程式時舊需要這種功能,這裡要跟大家介紹三個函式都可以做到這種功能,只是使用上不太一樣,這三個函式分別是glob、scandir、readdir

閱讀全文《【PHP】透過glob、scandir、readdir取得資料夾內的檔案列表

修改PHP的執行時間上限,避免程式執行過久被終止

在PHP裡面預設有30秒的執行上限,當你寫的程式執行超過30秒時就會出現「Fatal error: Maximum execution time of 30 seconds exceeded」這樣的錯誤訊息,這是為了避免你寫的程式裡面有錯,寫了一些無窮迴圈或奇怪的東西,最後導致系統爆掉的一個設計,不過有時候你寫的程式可能就需要執行到超過30秒,例如你現在要用PHP處理一個很大的檔案,例如資料庫的備份檔有時候上百MB,用PHP執行要很久,就可能不小心超過30秒,還有像我之前寫Plurk BOT、蜘蛛程式等等,也很容易超過30秒,以下要教大家兩種方式去調整這項時間上限

閱讀全文《修改PHP的執行時間上限,避免程式執行過久被終止

在PHP裡面如何做到基本的SQL injection防禦?

2011-08-01_222010

最近幾天因為寫了一個聯絡人整理的小程式,所以研究了蠻多東西,其中在處理資料庫的部份為了避免所謂的SQL injection,也就是會在你的參數裡面放入惡意字串,用來攻擊你的資料庫,所以使用了一些基本的防禦,而以下要介紹的就是如何對SQL injection做一些基本防禦~

閱讀全文《在PHP裡面如何做到基本的SQL injection防禦?

如何直接在PHP字串(SQL Query)中夾帶陣列、$_POST、$_GET

最近幾天在寫一個小程式的時候遇到一個問題,就是我想要直接在我的SQL查詢語句裡面夾帶$_POST變數,不想要用串接運算子來做串接,可是因為引號的問題所以讓我搞了很久才會用,這裡簡單的介紹一下,並且我要感謝Bu跟蒼時弦教會我這個方法!如果不是他們我可能還不知道這個方式,另外這個方式不只可以用在$_POST,也可以用在其他陣列

閱讀全文《如何直接在PHP字串(SQL Query)中夾帶陣列、$_POST、$_GET

帕斯卡(巴斯卡)三角形公式解!(感謝滄海)

上圖引用自維基,用以解釋帕斯卡三角形

今天要講的是所謂的帕斯卡三角形,也有人稱它楊輝三角形、賈憲三角形,他的第一行、第一個字是「1」,在下來的數字等於「左上、右上相加」,如果左上或右上沒有數字則等於0,例如第二行的數字有兩個「1、1」,再來第三行等於「1、2、1」,並且這個三角形可以無限延伸下去

閱讀全文《帕斯卡(巴斯卡)三角形公式解!(感謝滄海)

透過Gettext for PHP快速做出多國語系程式

Gettext是由GNU所推出的一個… 嗯,我也不知道該怎形容他,類似規範吧,可是也算是一組library,反正就是可以讓你很方便的幫你的程式作多國語系的東西啦~ 而這篇文章要講的就是如何把Gettext用在PHP上面,開發多國語系的程式、網站

閱讀全文《透過Gettext for PHP快速做出多國語系程式

PHP Documentation for Chrome – 讓你快速查閱PHP文件

PHP其實是一個蠻好學習的語言,除了因為他本身就不難以外,還有他的資源其實也是很多的,尤其是PHP官方網站還有提供一份PHP函式文件,你可以去官網查詢任何PHP的函式,就很類似微軟的MSDN,今天要跟大家介紹一個Chrome外掛,他把PHP官網的文件搜尋功能做成了外掛,讓你可以更方便的查詢PHP Function~
閱讀全文《PHP Documentation for Chrome – 讓你快速查閱PHP文件