一般寫 PHP 程式都是放在 <?php ….. ?> 中間,直譯器才會去執行程式碼。如果你想偷懶使用 <? … ?> 就必須到 php.ini 修改一項設定:short_open_tag = On
標籤: PHP
php.ini extension setting
聽 Aleiku 說 Mediawiki 需要使用到 php-xml 模組,想說用 make install clean 會比較輕鬆一點。開始設定 wiki 的時候後出現沒有 php-xml 的錯誤訊息,這時候去查了一下 ports,還蠻正常的啊
> pkg_info | grep php
php5-5.2.3 PHP Scripting Language (Apache Module and CLI)
php5-bz2-5.2.3 The bz2 shared extension for php
php5-ctype-5.2.3 The ctype shared extension for php
php5-gd-5.2.3 The gd shared extension for php
php5-gettext-5.2.3 The gettext shared extension for php
php5-iconv-5.2.3 The iconv shared extension for php
php5-mbstring-5.2.3 The mbstring shared extension for php
php5-mcrypt-5.2.3 The mcrypt shared extension for php
php5-mysql-5.2.3 The mysql shared extension for php
php5-mysqli-5.2.2 The mysqli shared extension for php
php5-openssl-5.2.2 The openssl shared extension for php
php5-openssl-5.2.3 The openssl shared extension for php
php5-pcre-5.2.3 The pcre shared extension for php
php5-readline-5.2.3 The readline shared extension for php
php5-session-5.2.2 The session shared extension for php
php5-session-5.2.3 The session shared extension for php
php5-simplexml-5.2.3 The simplexml shared extension for php
php5-spl-5.2.3 The spl shared extension for php
php5-xml-5.2.3 The xml shared extension for php
php5-zlib-5.2.2 The zlib shared extension for php
php5-zlib-5.2.3 The zlib shared extension for php
在去看 /usr/local/etc/ 才知道原來 php.ini 裡面並沒有 extension 的設定,而是另外存在 php/etensions.ini 裡面所以要自己在 php.ini 中加入設定檔的位置:Include php/extensions.ini
好了以後再 apachectl restart。
PHP 梨子
Pear PHP 是一個專門用來快速開發 PHP 程式的函式庫,包含驗證、資料庫、HTML Form等等。有了這些函式庫,大部分常用的功能都不必在自己動手寫,甚至連 HTML 的 JavaScript 都幫你做好了。

首先到 AppServphp5 目錄下,會找到 go-pear.bat 批次檔,點二下執行。安裝過程中全部使用預設值就可以了。
待結束,開啟 windowsphp.ini,看看檔案最後方是不是已經加入:
;***** Added by go-pear
include_path=".;C:AppServphp5pear"
;*****
有的話,在寫程式時就可以不必在 require 時打入函式庫的絕對位址,直譯器會自動幫找到對應的位置。
CakePHP 中文教學手冊
CakePHP 是有點類似 Ruby on Rail 的套件,有很多已經寫好的函式庫可以使用,要快速開發一個系統,用 CakePHP 會非常有幫助!
這是我找到的一個中文手冊,寫的簡單明瞭,適合第一次接觸 CakePHP 的人閱讀。
Get user IP in PHP
2012/09/30 更新:
以下內容不正確,請使用 $_SERVER[‘REMOTE_ADDR’] 取得使用者 IP 位址。
詳細請見:http://stackoverflow.com/questions/3003145/how-to-get-client-ip-address
CYJ 不要黑我啊 T口T
一般在取得使用者 IP 都是利用 $_SERVER[‘REMOTE_ADDR’] 這個環境變數,但是此變數只會紀錄最後一個主機 IP,所以當使用者瀏覽器有設定 Proxy 時,就無法取得他的真實 IP。
這時可以使用另一個環境變數 $_SERVER[‘HTTP_X_FORWARDED_FOR’] ,它會紀錄所經過的主機 IP,但是只有在使用者有透過 Proxy 時才會產生,所以可以像以下這樣寫來取得使用者真實 IP。
<?php
if (empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$myip = $_SERVER['REMOTE_ADDR'];
} else {
$myip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$myip = $myip[0];
}
echo $myip;
?>
