<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>PHP on Lin's Blog</title><link>https://coder.tw/categories/php/</link><description>Recent content in PHP on Lin's Blog</description><generator>Hugo</generator><language>zh-tw</language><lastBuildDate>Mon, 12 Dec 2016 04:57:46 +0000</lastBuildDate><atom:link href="https://coder.tw/categories/php/index.xml" rel="self" type="application/rss+xml"/><item><title>Laravel Artisan Migrate "Table Already Exists" or "Foreign Key" Error</title><link>https://coder.tw/posts/laravel-artisan-migrate-table-already-exisis-or-foreign-key-error/</link><pubDate>Mon, 12 Dec 2016 04:57:46 +0000</pubDate><guid>https://coder.tw/posts/laravel-artisan-migrate-table-already-exisis-or-foreign-key-error/</guid><description>&lt;p&gt;在部署半年前用 Laravel 5.2 開發的專案時遇到不少問題，其中一個就是執行 php artisan migrate 之後卻遇到 Table Already Exists 的錯誤，但在這之前我從未建立過該 Table，後來深入研究發現該 Table 確實存在但 project_migrations Table 裡面卻沒有建立紀錄，於是我將 Table 手動刪除後在直接執行一次 php artisan migrate，果然，這次出現了真正的錯誤訊息：「General error: 1005 Can&amp;rsquo;t create table &amp;lsquo;dbname.#sql-fbc1_15e6&amp;rsquo; (errno: 121) (SQL: alter table &lt;code&gt;karl_project&lt;/code&gt; add constraint &lt;code&gt;project_user_id_foreign&lt;/code&gt; foreign key (&lt;code&gt;user_id&lt;/code&gt;) references &lt;code&gt;karl_user&lt;/code&gt;
(&lt;code&gt;id&lt;/code&gt;))」&lt;/p&gt;</description></item><item><title>手動編譯、安裝PHP Extension （Linux）</title><link>https://coder.tw/posts/compile-install-php-extension-linux/</link><pubDate>Thu, 26 Jan 2012 16:53:57 +0000</pubDate><guid>https://coder.tw/posts/compile-install-php-extension-linux/</guid><description>&lt;p&gt;如果要幫PHP安裝Extension的話要怎麼做呢？很多人都會回答Pecl，這的確是一個很方便的安裝Extension的方式，不過如果你的Server上面沒有Pecl怎麼辦呢？ 然後又因為某些原因不能安裝Pecl，這時候你就只好手動去編譯、安裝囉～ 而這篇文章也就是要教大家如何手動編譯PHP Extension在Linux上面&lt;/p&gt;</description></item><item><title>PHPConf 心得分享</title><link>https://coder.tw/posts/phpconf-taiwan-recap/</link><pubDate>Sat, 03 Dec 2011 17:57:20 +0000</pubDate><guid>https://coder.tw/posts/phpconf-taiwan-recap/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/12/phpconf2011_1318928649.png"&gt;&lt;img class="aligncenter size-full wp-image-774" title="phpconf2011_1318928649" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/12/phpconf2011_1318928649.png" alt="" width="403" height="178" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;說實話，雖然我最早學的語言是VB ，但實際上我最常用也最熟悉的是PHP，像這次參加台北市軟體競賽，我就完全是用PHP解題的，畢竟PHP最熟悉～ 所以這次聽到要舉行PHPConf的消息我就很高興的去報名擔任工作人員了XD&lt;/p&gt;</description></item><item><title>【PHP】透過glob、scandir、readdir取得資料夾內的檔案列表</title><link>https://coder.tw/posts/php-glob-scandir-readdir-list-files/</link><pubDate>Wed, 17 Aug 2011 17:27:32 +0000</pubDate><guid>https://coder.tw/posts/php-glob-scandir-readdir-list-files/</guid><description>&lt;p&gt;有時候會需要寫PHP程式去取得指定資料夾內的檔案列表，例如在做網路硬碟程式時舊需要這種功能，這裡要跟大家介紹三個函式都可以做到這種功能，只是使用上不太一樣，這三個函式分別是glob、scandir、readdir&lt;/p&gt;</description></item><item><title>修改PHP的執行時間上限，避免程式執行過久被終止</title><link>https://coder.tw/posts/php-max-execution-time-limit/</link><pubDate>Tue, 09 Aug 2011 15:04:03 +0000</pubDate><guid>https://coder.tw/posts/php-max-execution-time-limit/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-09_150333.jpg"&gt;&lt;img class="alignnone size-large wp-image-678" title="2011-08-09_150333" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-09_150333-540x423.jpg" alt="" width="540" height="423" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在PHP裡面預設有30秒的執行上限，當你寫的程式執行超過30秒時就會出現「&lt;strong&gt;Fatal error&lt;/strong&gt;: Maximum execution time of 30 seconds exceeded」這樣的錯誤訊息，這是為了避免你寫的程式裡面有錯，寫了一些無窮迴圈或奇怪的東西，最後導致系統爆掉的一個設計，不過有時候你寫的程式可能就需要執行到超過30秒，例如你現在要用PHP處理一個很大的檔案，例如資料庫的備份檔有時候上百MB，用PHP執行要很久，就可能不小心超過30秒，還有像我之前寫Plurk BOT、蜘蛛程式等等，也很容易超過30秒，以下要教大家兩種方式去調整這項時間上限&lt;/p&gt;</description></item><item><title>在PHP裡面如何做到基本的SQL injection防禦？</title><link>https://coder.tw/posts/php-basic-sql-injection-defense/</link><pubDate>Tue, 02 Aug 2011 07:00:27 +0000</pubDate><guid>https://coder.tw/posts/php-basic-sql-injection-defense/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-01_222010.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px; border-color: initial; border-style: initial;" title="2011-08-01_222010" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-01_222010_thumb.jpg" alt="2011-08-01_222010" width="524" height="401" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最近幾天因為寫了一個聯絡人整理的小程式，所以研究了蠻多東西，其中在處理資料庫的部份為了避免所謂的SQL injection，也就是會在你的參數裡面放入惡意字串，用來攻擊你的資料庫，所以使用了一些基本的防禦，而以下要介紹的就是如何對SQL injection做一些基本防禦～&lt;/p&gt;</description></item><item><title>如何直接在PHP字串（SQL Query）中夾帶陣列、$_POST、$_GET</title><link>https://coder.tw/posts/php-embed-array-post-get-in-sql-string/</link><pubDate>Mon, 01 Aug 2011 14:23:03 +0000</pubDate><guid>https://coder.tw/posts/php-embed-array-post-get-in-sql-string/</guid><description>&lt;p&gt;最近幾天在寫一個小程式的時候遇到一個問題，就是我想要直接在我的SQL查詢語句裡面夾帶$_POST變數，不想要用串接運算子來做串接，可是因為引號的問題所以讓我搞了很久才會用，這裡簡單的介紹一下，並且我要感謝Bu跟蒼時弦教會我這個方法！如果不是他們我可能還不知道這個方式，另外這個方式不只可以用在$_POST，也可以用在其他陣列&lt;/p&gt;</description></item><item><title>帕斯卡（巴斯卡）三角形公式解！（感謝滄海）</title><link>https://coder.tw/posts/pascal-triangle-formula-solution/</link><pubDate>Sun, 24 Jul 2011 08:25:37 +0000</pubDate><guid>https://coder.tw/posts/pascal-triangle-formula-solution/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/210px-PascalTriangleAnimated2.gif"&gt;&lt;img title="210px-PascalTriangleAnimated2" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/210px-PascalTriangleAnimated2.gif" alt="" width="210" height="194" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;上圖引用自維基，用以解釋帕斯卡三角形&lt;/p&gt;
&lt;p&gt;今天要講的是所謂的帕斯卡三角形，也有人稱它楊輝三角形、賈憲三角形，他的第一行、第一個字是「1」，在下來的數字等於「左上、右上相加」，如果左上或右上沒有數字則等於0，例如第二行的數字有兩個「1、1」，再來第三行等於「1、2、1」，並且這個三角形可以無限延伸下去&lt;/p&gt;</description></item><item><title>透過Gettext for PHP快速做出多國語系程式</title><link>https://coder.tw/posts/php-gettext-multilanguage-program/</link><pubDate>Mon, 18 Jul 2011 22:47:40 +0000</pubDate><guid>https://coder.tw/posts/php-gettext-multilanguage-program/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/2011-07-18_224707.jpg"&gt;&lt;img class="alignnone size-large wp-image-555" title="2011-07-18_224707" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/2011-07-18_224707-540x378.jpg" alt="" width="540" height="378" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Gettext是由GNU所推出的一個&amp;hellip; 嗯，我也不知道該怎形容他，類似規範吧，可是也算是一組library，反正就是可以讓你很方便的幫你的程式作多國語系的東西啦～ 而這篇文章要講的就是如何把Gettext用在PHP上面，開發多國語系的程式、網站&lt;/p&gt;</description></item><item><title>PHP Documentation for Chrome - 讓你快速查閱PHP文件</title><link>https://coder.tw/posts/php-documentation-for-chrome/</link><pubDate>Sun, 29 May 2011 11:26:01 +0000</pubDate><guid>https://coder.tw/posts/php-documentation-for-chrome/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/05/2011-05-29_111813.jpg"&gt;&lt;img class="size-large wp-image-527 aligncenter" title="2011-05-29_111813" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/05/2011-05-29_111813-540x406.jpg" alt="" width="540" height="406" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PHP其實是一個蠻好學習的語言，除了因為他本身就不難以外，還有他的資源其實也是很多的，尤其是PHP官方網站還有提供一份PHP函式文件，你可以去官網查詢任何PHP的函式，就很類似微軟的MSDN，今天要跟大家介紹一個Chrome外掛，他把PHP官網的文件搜尋功能做成了外掛，讓你可以更方便的查詢PHP Function～&lt;/p&gt;</description></item><item><title>【Google API】透過Google Chart API產生QR-Code，附PHP範例程式碼</title><link>https://coder.tw/posts/google-chart-api-qr-code-php/</link><pubDate>Thu, 24 Feb 2011 23:25:20 +0000</pubDate><guid>https://coder.tw/posts/google-chart-api-qr-code-php/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-24_230500.jpg"&gt;&lt;img class="size-large wp-image-328 aligncenter" title="2011-02-24_230500" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-24_230500-540x396.jpg" alt="" width="540" height="396" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在這篇文章中我們會教大家如何使用Google Chart API來製作QR-Code，也就是當下很流行的二維條碼，本來你如果要產生二維條碼是很麻煩的，但是現在有了Google Chart API你可以用一段網址就快速產生出QR-Code，其實我原本是打算寫一篇文章專門講Google Chart API的，但是後來想想還是拆開來好了～（還有就是剛好看到&lt;a href="http://www.dotblogs.com.tw/shadow/archive/2011/02/24/21557.aspx" target="_blank"&gt;Shadow的技術資料庫&lt;/a&gt;這個網站在介紹他，就忍不住寫了～）&lt;/p&gt;</description></item><item><title>【PHP】【C++】簡潔的強制顯式轉型別語法</title><link>https://coder.tw/posts/php-c-explicit-type-cast/</link><pubDate>Tue, 15 Feb 2011 22:57:49 +0000</pubDate><guid>https://coder.tw/posts/php-c-explicit-type-cast/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-15_225730.jpg"&gt;&lt;img class="size-large wp-image-282 aligncenter" title="2011-02-15_225730" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-15_225730-540x352.jpg" alt="" width="540" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;
在PHP跟C++裡面有一種很方便的轉型別方法，你不用去記那一大串的轉型別函式，直接使用一個括弧加上要轉的型別就可以了，不過這方式好像會有一些問題，不過這部份我也不太清楚XD</description></item><item><title>PHPMyAdmin資料庫手動備份與還原</title><link>https://coder.tw/posts/phpmyadmin-manual-backup-restore/</link><pubDate>Fri, 11 Feb 2011 11:11:08 +0000</pubDate><guid>https://coder.tw/posts/phpmyadmin-manual-backup-restore/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-11_110444.jpg"&gt;&lt;img class="alignnone size-full wp-image-220" title="2011-02-11_110444" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-11_110444.jpg" alt="" width="478" height="378" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;今天這篇文章是要敎各位如何用&amp;quot;手動&amp;quot;的方式來備份與還原資料庫,大家如果有點架站常識的話都知道要定期備份資料庫,因為網站裡的資料幾乎都是存放在資料庫內,但話是這麼說確有多少人會備份資料庫呢?大多數人會架站都是去看所謂&amp;quot;十分鐘架站密笈&amp;quot;學的,通常那類書籍不會教你深入的東西,也因此有很多人不懂如何備份資料庫,所以在這裡站長要敎大家手動備分資料庫(Mysql的資料庫)&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ffffff;"&gt;.&lt;/p&gt;</description></item></channel></rss>