Recent Comments
Archives
- February 2012 (1)
- January 2012 (5)
- December 2011 (13)
- November 2011 (12)
- October 2011 (10)
- September 2011 (7)
- August 2011 (5)
- July 2011 (11)
- June 2011 (21)
- May 2011 (22)
- April 2011 (36)
- March 2011 (43)
- February 2011 (23)
- January 2011 (24)
- December 2010 (34)
- November 2010 (19)
- October 2010 (16)
- September 2010 (15)
- August 2010 (10)
- July 2010 (12)
- June 2010 (3)
- May 2010 (3)
- April 2010 (4)
- March 2010 (8)
- February 2010 (14)
- January 2010 (13)
- December 2009 (16)
- November 2009 (28)
- October 2009 (24)
- September 2009 (12)
- August 2009 (7)
- July 2009 (10)
- June 2009 (11)
- May 2009 (22)
- April 2009 (21)
- March 2009 (18)
- February 2009 (7)
- January 2009 (32)
- December 2008 (19)
- November 2008 (12)
- October 2008 (15)
- September 2008 (14)
- August 2008 (15)
- July 2008 (18)
- June 2008 (20)
- May 2008 (19)
- April 2008 (27)
- March 2008 (22)
- February 2008 (21)
- January 2008 (15)
- December 2007 (22)
- November 2007 (17)
- October 2007 (29)
- September 2007 (31)
- August 2007 (34)
- July 2007 (31)
- June 2007 (36)
- May 2007 (23)
- April 2007 (22)
- March 2007 (30)
- February 2007 (50)
- January 2007 (75)
- December 2006 (48)
- November 2006 (59)
- October 2006 (89)
- September 2006 (29)
- August 2006 (48)
- July 2006 (14)
- June 2006 (35)
- May 2006 (62)
- April 2006 (63)
- March 2006 (72)
- February 2006 (83)
- January 2006 (56)
- December 2005 (46)
- November 2005 (60)
- October 2005 (27)
- September 2005 (54)
- August 2005 (83)
Tags
Categories
- Anime (24)
- AWS (46)
- BBS (17)
- Blog (200)
- Book (18)
- Bridge (1)
- Browser (280)
- CDN (19)
- Cloud (61)
- CMS (33)
- Comic (17)
- Computer (1944)
- Computer and Network Center (31)
- CSS (31)
- Database (129)
- DNS (49)
- Editor (11)
- Financial (37)
- Firefox (147)
- Food (10)
- FreeBSD (114)
- Game (21)
- GoogleChrome (22)
- Hardware (137)
- IE (64)
- Joke (131)
- Lab (3)
- Linux (68)
- MacOS (3)
- Mail (68)
- Movie (18)
- Murmuring (2017)
- Music (37)
- MySQL (95)
- NCTU (62)
- NetBSD (7)
- Network (1465)
- OpenBSD (3)
- Opera (21)
- OS (198)
- P2P (85)
- Photo (57)
- Political (46)
- Programming (306)
- Recreation (365)
- RSS (65)
- Safari (22)
- Science (28)
- Search Engine (126)
- Security (333)
- SMS (5)
- Social (59)
- Software (1039)
- Spam (86)
- Sport (4)
- Telephone (61)
- Television (35)
- Usenet (13)
- Vim (3)
- Wiki (25)
- Windows (46)
- WWW (774)
Blogroll
Meta
Tag Archives: php
PHP 提供的資料結構…
Tweet 從「How big are PHP arrays (and values) really? (Hint: BIG!)」這篇看到的。文章本身值得花些時間看過了解,不過對我來說重點在最後面的 SplFixedArray。 PHP 的 Datastructures 說明目前 PHP SPL 所支援的 data structure,在記憶體用量以及效率上面都會比自己實作來的小且快。 可以看到很多都支援 Countable、Iterator,以及 ArrayAccess,代表可以用 foreach() 或是對應的方式存取… 如果自己寫 library 的時候應該要善用這些 SPL。
Posted in Computer, Murmuring, Programming, Software Tagged array, data, php, spl, structure Leave a comment
把 blog 搬回自己主機…
Tweet 把 blog 搬回自己的主機上跑,好像沒有快多少…
PHP 5.3 的 anonymous function
Tweet 在看到 PHPConf Taiwan 2011 的議程介紹後,看到有人在推薦 Slim Framework,一連上去就看到包含 anonymous function 的 sample code: <?php require ‘Slim/Slim.php’; $app = new Slim(); $app->get(‘/hello/:name’, function ($name) { echo “Hello, $name!”; }); $app->run(); ?> 然後回頭去翻 PHP 的說明:「Anonymous functions」,發現是從 PHP 5.3 開始支援。 於是在 JavaScript 上常用到的技巧就也可以在 … Continue reading
Posted in Computer, Murmuring, Network, Programming, WWW Tagged anonymous, function, php, programming 2 Comments
Heroku 上跑 PHP 的心得與感想…
Tweet Heroku 不愧是 PaaS 中的領先品牌,deploy 的操作及穩定性都相當好,加上 Heroku 每個 project 都有 1 free dyno 可以使用,對於 prototyping 其實相當棒… 關於要怎麼在 Heroku 上跑 PHP,可以參考 xdite 寫的「Create PHP application on Heroku without Facebook account」這篇文章。 有幾個要抱怨的: PHP 是用 Apache HTTP Server 跑的,所以可以用 .htaccess 寫 rewrite rule,不過 … Continue reading
Posted in Cloud, Computer, Murmuring, Network, Programming, WWW Tagged cloud, gd, heroku, image, imagemagick, jpeg, php Leave a comment
PHP 長期計畫:廢除 ext/mysql,改用 pdo_mysql 或 mysqli
Tweet 在 Hacker News 上看到的長期計畫,要廢除 ext/mysql:「deprecating ext/mysql」。 主要的原因是 security 習慣問題。因為 ext/mysql 不支援 prepare 與 execute 這類不需要自己處理 escape 的函式,所以使用 ext/mysql 的人必須自己處理 escape 的問題,也就是透過 mysql_escape_string 或是 mysql_real_escape_string。而很多書籍為了讓初學者容易了解,會給出很糟的範例,像是: mysql_query(“SELECT * FROM `user` WHERE `username` = ‘$username’;”); 而 $username 沒有先檢查過。 依照提議,目前只會在文件上建議改用 PDO 或是 mysqli,不會對目前版本有任何改變。接下來是 … Continue reading
mod_fcgid 與 PHP
Tweet 先不論效能之類的問題,mod_fcgid 跑 PHP 的設定比 mod_fastcgi 簡單許多。(參考之前寫的「apache22 (worker) + mod_fastcgi + php5-fcgi」這篇文章) 首先是把 module load 進來: LoadModule fcgid_module libexec/apache22/mod_fcgid.so 再來是把副檔名加上去,以及告知什麼副檔名要用什麼程式包: AddHandler fcgid-script .php FcgidWrapper /usr/local/bin/php-cgi .php 就這樣而已… 預設會跑一隻 php-cgi,需要的時候會再多拉幾隻。以他的方式看起來 code segment 不會共用,這種設定方式給小站台用還可以… 接下來看看有沒有辦法在 .htaccess 內直接吃本地的 FastCGI process…
PHP 的 Heroku
Tweet 在「PHP Fog Raises $1.8 Million To Be The Heroku Of PHP」裡面提到兩家:PHP Fog 與 cloudControl。 兩者都是以 PHP 為底層語言基礎的平台。其中 PHP Fog 還沒開張,而 cloudControl 已經開張了,以歐洲的 EC2 為底層。 不過 cloudControl 選用 Bazaar 為版本管理系統,這點不知道是什麼考量… (PHP 是用 Subversion)
用 Plack 提供的 CGI 跑 Adminer…
Tweet 在「用 Plack 跑 CGI」提到用 Plack 跑 CGI,目的是把 PHP 寫的 Adminer (一個取代 phpMyAdmin 的工具) 跑起來。 文章裡提到 PHP 沒辦法以 CGI mode 執行,主要有兩個原因。一個是 PHP 本身有安全機制,php-cgi 必須在有 REDIRECT_STATUS 這個環境變數下才能執行,另外一個是 php-cgi 需要用到 SCRIPT_FILENAME 這個非 CGI/1.1 標準 (RFC 3875 – The Common Gateway Interface (CGI) … Continue reading
FreeBSD 使用 FastCGI + PHP 5.3 提供的 php-fpm
Tweet 這篇還是講 mod_fastcgi,而非目前歸到 Apache 下管的 mod_fcgid。 PHP 5.3 已經內建 php-fpm,不過 ports 預設是不會裝上去的,所以首先先把 lang/php5 加上 php-fpm 支援。方法是 make config 後選擇 FPM。如果有裝 portconf 的人可以直接在 /usr/local/etc/ports.conf 裡加上: lang/php5*: WITH_FPM=yes 這樣就會強制蓋過系統設定,強制把 php-fpm 裝進去。 接下來是設定的部份,首先是 php-fpm 的設定,這篇的文章只教預設值,會跑在 127.0.0.1:9000。所以只要在 /etc/rc.conf.local 內設定 php_fpm_enable=”YES”,然後跑 /usr/local/etc/rc.d/php-fpm start 就把 php-fpm … Continue reading
WordPress 3.1 將不考慮 PHP 4 與 MySQL 4
Tweet WordPress 宣佈從 3.1 版開始將不再支援 PHP 4 與 MySQL 4:「PHP 4 and MySQL 4 End of Life Announcement」。 PHP 4 與 MySQL 4 官方都已經停止支援很久了,WordPress 總算是想起來了? 另外,在 WordPress 3.2 版後 (預定在 2011 年的上半年發行),對 PHP 的最低需求會再提高到 5.2 版,這是因為目前使用非 5.2 以上的數量只有 ~11%,所以他們希望半年後可以再把需求更新…
