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 , , , , | Leave a comment

把 blog 搬回自己主機…

Tweet 把 blog 搬回自己的主機上跑,好像沒有快多少…

Posted in Blog, Computer, Murmuring, Network, WWW | Tagged , , | Leave a comment

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 , , , | 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 , , , , , , | 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

Posted in Computer, Murmuring, Programming, Security, Software | Tagged , , , , , , | 1 Comment

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…

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , | Leave a comment

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)

Posted in Cloud, Computer, Murmuring, Network, Programming, WWW | Tagged , , | 1 Comment

用 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

Posted in Computer, Database, Murmuring, MySQL, Network, Programming, Software, WWW | Tagged , , , , , | Leave a comment

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

Posted in Computer, FreeBSD, Murmuring, Network, OS, Software, WWW | Tagged , , , , , | Leave a comment

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%,所以他們希望半年後可以再把需求更新…

Posted in Blog, CMS, Computer, Database, Murmuring, MySQL, Network, Software, WWW | Tagged , , , | Leave a comment