顯示具有 PHP5 標籤的文章。 顯示所有文章
顯示具有 PHP5 標籤的文章。 顯示所有文章

2013-02-05

Ubuntu 安裝 Symfony2

阿舍最近想找個 PHP 的 Framework (框架)來研究、研究,本來還想去找一些 PHP Framework 的評比文來看看的,不過,在看到 PHP Framework 的數量有這麼、這麼的多之後,阿舍就有點懶了,後來,有想到,阿舍熟悉的 Drupal 在下一版的 Drupal 8 中,有採用 Symfony 這個 PHP 的 Framework,所以,阿舍就說,那就相信 Drupal 開發者的這些高手,應該是不會亂亂選的吧 ! 因此,阿舍就決定來試試這個 Symfony 囉!

Symfony2 的設定畫面

2013-01-24

Ubuntu 安裝 PHP 的 Composer

這個 PHP 的 Composer 是什麼東西呢?在開發 PHP 專案時,如果有用到一些程式庫,而這些程式庫又會需要用到其它程式庫,造成每次在建置開發環境或部署時,都要一個個的來下載程安裝,不是很方便,而 Composer 就是用來幫忙解決這個問題的,Composer 會自動找出使用到的程式庫所需的相依程式庫和版本,並且,自動下載和安裝這些程式庫,所以,對開發人員來說,Composer 可以大大節省 PHP 專案的建置和部署時間哩 !

如果安裝成功的話,會出現圖下方的訊息

2011-02-17

Ubuntu 如何快速安裝 Eclipse PDT ( PHP Development Tool ) ?

要在 Ubuntu 上安裝 Eclipse 的 PDT ( PHP Development Tool ) 套件,不難,先用 apt-get 安裝好 Eclipse,然後,再用 Eclipse 去裝 PDT 就可以了,可是..... 你可能會需要在 Eclipse 上裝不少的 Plug-in 才能讓 PDT 可以用哩 ...!

sudo apt-get install eclipse

還好,有善心人士提供了一個都弄好的 PPA,只要用下面這一系列的指令,那就可以把 Eclipse 的 PDT 給裝到好的,裝好就能用了 ....十分的便利哩 !

sudo add-apt-repository ppa:yogarine/eclipse/ubuntu
sudo apt-get update
sudo apt-get install eclipse-pdt

2010-12-28

Windows 如何安裝 PHP 的 APC 擴充 ( Extension ) ?

阿舍上次已經有介紹過如何在 Ubuntu 上安裝 APC 來提高 PHP 程式的執行效率,這次,就來說一下如何把 APC 裝到  Windows 上,首先,請參考這篇的說明來下載或是直接到這裡來找已經編譯好的 APC 動態程式庫 (  DLL ),依使用的 PHP 版本要下載不同的程式,PHP 5.2 版請下載 php_apc-3.1.5-5.2-vc6-x86.zip,PHP 5.3 版請下載 php_apc-3.1.5-5.3-vc6-x86.zip。

Credit  http://www.glenscott.co.uk

2010-12-26

Ubuntu / Linux 的 PHP 為什麼不需要在php.ini 設定 SMTP ?

php.ini 的 SMTP 這個項目的上面都會有一段註解寫著 "; For Win32 only.",這是為什麼呢 ? 為何只有 Windows 的作業系統才需要設定哩 ?  阿舍之前有寫過設定只寄不送的方式讓 PHP 的程式可以寄送郵件,但是,沒去研究為什麼不用設定 PHP.ini。

後來去問了 G 先生才知道,原來, Unix Linux 作業系統上,PHP 預設就會去找 sendmail 這支程式來傳送郵件,所以,才會不需要額外指定,只要有安裝 sendmail 相容的程式就可以讓 PHP 寄送郵件。

2010-10-24

Cherokee 如何啟用 PHP 支援 ?

Cherokee 的好處之一就是它有圖型的管理界面,所以,要設定 PHP 的支援也是從圖型的管理界面著手,以下是操作步驟:

1. 先安裝 PHP。
請參考這裡

2.啟用 Cherokee 的管理界面
用下面的指令啟動  Cherokee 的管理界面,然後記下它的密碼和 Port 號。
sudo cherokee-admin

3.登入管理界面
用網址 127.0.0.1:9090 登入管理界面,如果 9090 找不到網站,就再看一下上個步驟的畫面,應該會有實際的網址和 Port 號。

4. 變更語言
進入管理界面之後,Cherokee 會去偵測你所使用的語言,應該都會帶出簡體中文,所以,請點右上方「语言:」,把它換成英文的。

5.開始設定
點選管理界面右上角的「vServers」進入虛擬主機的設定畫面,之後,點左邊的 "Default",然後再點右邊的「Rule management」,這時會進入「Behavior」的管理頁面,請點左上角在 "Behavior" 右邊的 + 圖示,接著會跳出「Add Behavior Rule」的視窗,往下看會有一個「Language」,請點它,右邊就跟著會出現 PHP 的選項,就給它點下去,再往下按「Add」按鈕。

還沒結束,接著再跳出一個「Configuration Assistant 」的視窗,就按那個「 Create」的按鈕,過一會,左邊就會多出一個 「Extensions php」,這樣就算啟用完成,不過,還要回首頁去各按一次「Stop Server」和 「Start Server」重啟 Cherokee Web Server。

2010-10-20

Ubuntu 安裝 PHP APC

阿舍覺得這年頭用 PHP 的網路應用程式,如果不用個加速器來提高 PHP 程式的執行效能,就實在是有點浪費,尤其是在架在虛擬主機或 VPS 的網站就更有需要了,所以,阿舍就想要來裝一下這個 PHP 的加速器,阿舍找了一下,目前最常使用的  PHP 加速器就屬這個  APC ( Alternative PHP Cache ) 較多人用了,因此,阿舍就研究了一下,以下就是阿舍試過的安裝方法和步驟哩 !

Credit  http://www.glenscott.co.uk

2010-09-10

Windows 如何解決安裝 PHP 後重啟 Apache 出現 "記憶體不能為 read 或 Write " 的問題 ?

現在的 PHP 安裝程式不像以前一樣,會把所有的 Extension ( 擴充 ) 都給安裝起來,然後,只在 php.ini 啟用有選用的擴充,新版的 PHP 安裝程式就只會安裝有勾選的擴充,然後同時就會在 PHP.ini 裡啟用,所以,如果在安裝的時候,把所有的擴充都勾選來安裝,那在啟動 Apache 的時候,Apache 就會試著去啟動這些擴充,如果這個時候,有一個擴充有問題或是不支援,那就會跳出一個對話框,說是 "記憶體不能為 read 或 Write ..." 的訊息,所以,真正造成 Apache 發生錯誤,無法啟動的原因便是 PHP 擴充的安裝問題。

解決方式很簡單,只是要把 php.ini 裡,最下面有一些啟用擴充的項目,例如 [] 和 的這二行,把它們移除或是在前面加個 ";",然後存檔,再來,再重新啟動 Apache 就應該不會有問題了,如果,不幸地,還是開不起 Apache,那就再開啟 php.ini ,再移一些擴充掉看看,再啟動 Apache,一直到沒有問題為止哩 !

2010-09-07

如何解決 Your PHP MySQL library version 5.0.51a differs from your MySQL... 的問題 ?

這個是出現在 PHPMyAdmin 上的訊息,會出現這個的原因,是因為所安裝旳 PHP 版本不是最新的,但是 MySQL 是安裝 5.1 以上的版本,這樣才會出現這種訊息,要解決,不難,只要把 PHP 和 Apache 移掉,然後再重新安裝 PHP 5.3 及 Apache 2.2 以上的版本就可以解決了。

如果不想重裝 PHP 和 Apache也是可以的,那就要把 MySQL 移除,然後再去下載 MySQL 5.0.51a 的版本來安裝,讓 PHP 的 MySQL 程式庫版本和安裝的 MySQL 版本樣就可以了...

2010-08-30

Ubuntu 如何安裝 PHP PECL 的擴充套件 ?

在 Ubuntu  如果只有安裝 php-pear 的話,還是會不能用 PECL 來安裝  PHP 的擴充套件,因為下載來的 PHP 擴充套件通常還是會需要再編譯過的,所以,一定要安裝 php-dev 的  PHP 開發套件才行,詳細操作步驟如下:

1.安裝需要的 PHP 套件
sudo apt-get install php-pear php5-dev

2.安裝 PECL 套件 (  以安裝 uploadprogress 擴充套件為例 )
sudo pecl install uploadprogress

3.修改 PHP.ini
在 php.ini 中新增 extension=uploadprogress.so ( Ubuntu 不需要指定路徑 )

4.重新啟動 Apache
sudo /etc/init.d/apache2 restart

2010-08-14

Ubuntu / Linux 編譯和安裝 PHP FPM (二)

阿舍改用 PHP FPM 之後,感覺是好像有比較快,而且,好像有比較穩定,阿舍之前用 spawn-fcgi 的時候,就常常會不知什麼原因就自已停掉了, 讓阿舍用的提心吊膽的 ( 註 ; 阿舍沒去找原因,也許是阿舍設定不好的問題哩 ! ...=___=!! ),後來改用 PHP-FPM 之後就沒遇到過自動停掉的情形了...接下來就繼續囉 !

5. 開始編譯和安裝
執行下面的指令來編譯和安裝 PHP,安裝好的 PHP 會放在 /usr/local/bin/php 裡。

sudo make all install

6.複製 php.ini 檔
編譯和安裝好的 PHP 不會有 php.ini 檔,要從下載來的原始檔裡複製過去。

sudo cp php.ini-dist /usr/local/lib/php.ini

7.修改 /usr/local/etc/php-fpm.conf ( 適用 Nginx )
用 sudo vi /usr/local/etc/php-fpm.conf 打開後,找到 user 和 group 這二個標籤,然後把它們的值改成 www-data ,改好之後就會和下一樣了...

www-data
www-data

7.設定 PHP-FPM 開機自動啟動

ln -s /usr/local/sbin/php-fpm /etc/init.d/php-fpm

8.啟用 PHP-FPM

php-fpm start

9.看結果
用 phpinfo() 寫一個網頁,然後,從網頁執行,如果可以看到 PHP FPM 的設定,那就算成功了...

2010-08-05

Ubuntu 編譯和安裝 PHP-FPM (一)

阿舍一開始以為 PHP-FPM 是個獨立的套件,所以,就以為只要下載 PHP-FPM 的原始程式碼來編譯和安裝就好了,結果,就弄了好久還裝不起來哩 ! 後來才發現,原來是誤會一場,其實,與其說 PHP-FPM  是套軟體,還不如說,PHP-FPM 是 PHP 的修正功能哩 ! 因此,如果想要安裝 PHP-FPM 的話,那就要重頭編譯 PHP 才行,也就是說,必需要下載原始碼來編譯和安裝的...

在 PHP 5.3 以上的版本要安裝 PHP-FPM 比較簡單,因為已經有人提供可以透過 apt-get 來安裝的方法了,而 PHP 5.2.x 的版本就比較麻煩一點,不過,目前阿舍用的 Drupal 版本和 PHP 5.3 不太合,所以,阿舍就要用 PHP 5.2 來安裝 PHP-FPM 才行哩 ! 以下就是在 PHP 5.2 版安裝 PHP-FPM 的步驟 ( 本文是假設已經安裝過 Nginx 並完成 Fast-CGI 的設定 )。

1.下載 PHP 5.2.14 版的原始程式碼並解壓縮
這裡下載 5.2.14 的原始程式碼,下載的檔名應該是 php-5.2.14.tar.gz ,把它用下面的指令解壓縮。

tar -zxvf php-5.2.14.tar.gz

2.下載 PHP-FPM 的修正檔 ( Patch File )
前面阿舍有提到 PHP-FPM 是直接去改 PHP 的原始程式碼的,所以,就要到這裡來下載 PHP-FPM 的修正檔,檔名是用 PHP 的版本再加上 PHP-FPM 的版本組合而成的,以阿舍的 PHP 是 5.2.14 版為例,要下載的檔案就是 php-5.2.14-fpm-0.5.14.diff.gz 這個檔。

3. 執行 Patch 更改 PHP 的原始程式碼
用下面的指令來解壓縮下載的檔案並 Patch PHP 的原始程式碼

gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1

4. 執行 ./configur
切換到剛剛解開的 PHP 5.2.14 原始程式碼的資料夾,然後執行下面的指令 ( 如果需要加入 MySQLi 請參考這裡,需要加入 Suhosin 功能,請參考這裡

./configure --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-openssl --with-gd --with-mysql=/usr/bin --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql=mysqlnd --with-mcrypt --with-zlib --enable-pdo=/usr/bin --with-pdo-mysql=/usr/bin/mysql_config ( 待續... )

2010-07-30

Ubuntu 編譯和安裝 Xdebug

阿舍這陣子有裝 Eclipse 的 PDT ( PHP Development Tool ) 來寫 一些 PHP 的東西,然後,寫一寫就想到要用 PDT 來 Debug,所以,就想直接在 PDT 裡設定 Xdebug 來做為 PHP 的 Debug 工具,可是,結果咧 ? 阿舍怎麼試都怪怪的,就這樣一直試了好一陣子之後,阿舍才突然的想到說,該不會是這個 Xdebug 要自己先安裝嗎 ? 啊 ! ...就是的...

安裝 Xdebug 的方式有二種,第一種是下載 Xdebug 的原始碼來編譯和安裝,而第二種就是用 PECL 直接安裝的,今天,阿舍要說的是第一種,要自己動手編譯的那一種,以下就是操作的步驟。

1.安裝 PHP 開發用的套件

sudo apt-get install php5-dev

2.下載 Xdebug 的原始程式碼

Xdebug 的原始程式碼要到這裡下載。

3.解壓下載的原始程式碼檔。

以阿舍下載的 Xdebug 2.1.0 版為例,解壓縮指令如下

tar -xvzf xdebug-2.1.0.tgz

4.開始編譯

開始編譯之前,請先切換到 Xdebug 解開的資料夾裡,然後,執行下面三行指令。

phpize
./configure
sudo make

5.安裝 Xdebug

將上一個步驟產生出來的 xdebug.so 檔放到 PHP 的擴充套件資料夾。

cp modules/xdebug.so /usr/lib/php5/20090626+lfs

6.調整 PHP.ini

把下面這幾行加到 /etc/php5/apache2/php.ini 裡存檔

zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

7.重新啟用 Apache2

sudo /ect/init.d/apache2 restart

完成之後,用 phpinfo() 來看時,如果有成功,就會出現 Xdebug 的安裝資訊了....

2010-07-24

Ubuntu 如何手動安裝( 從原始檔編譯 ) PHP 的 Suhosin 擴充 ?

本來,阿舍只有編譯 PHP 的程式碼,後來才想到還要加入 Suhosin 的擴充才應該會比較安全,於是,就直接去下載了 Suhosin 的 Patch 來,因為阿舍那個時候以為是要去 Patch PHP 的原始碼之後,再重新編譯一次 PHP 的哩 ! 還好,後來有再瞄一下 Suhosin 網站上的 FAQ,才發現,原來可以不用這麻煩來的,可以直接只編譯 Suhosin 就可以了,不需要再連 PHP 一起重新編譯起的...

首先,要從這裡來下載 Suhosin 的原始程式碼 ( 要注意一下,要是下載的是 Suhosin Extension 的版本,而不是 Suhosin Patch 的版本 ) ,然後,用下面的指令把它解壓縮 ( 阿舍下載時的版本是 0.9.32.1 版 ) 。

tar -xzvf suhosin-0.9.32.1.tar.gz

接著,依照下列的順序依次執行指令,來完成 Suhosin 的編譯和安裝。

cd suhosin-0.9.32.1.tar.gz

phpize

./configure

sudo make

sudo make install

上面的動作跑完之後,會把 suhosin.so 這個檔案產生在 PHP 的 extensions 資料夾裡,阿舍自己編好的 PHP 是安裝在 /usr/local/lib/php 裡,而 extensions 資料夾就是在 /usr/local/lib/php/extensions,不過,suhosin.so 會放在 /usr/local/lib/php/extensions/no-debug-non-zts-20060613 裡,就是 extensions 資料夾的下一層裡。

再來就是要改 PHP.ini 的設定了,請打開 PHP.ini 之後,先找到 extension_dir 這項設定,然後,把上面找到 suhosin.so 檔案的資料夾路徑指給 extension_dir 這項設定,以阿舍為例,要設定如下:

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"

最後,在 PHP.ini 檔裡找到 extension 的區段,然後,加入下面這一行後存檔.這樣 PHP 的 Suhosin 擴充就算安裝完成了....

extension=suhosin.so

Ubuntu 編譯 PHP MySQL PDO

PHP 的 PDO 是 PHP 5 版的一個重要功能,所以, 阿舍怎麼可以不把它給啟用哩 ! 而且,再加上阿舍用的 Drupal 的下一個版本 Drupal 7 就有支援 PDO 了,所以,阿舍的 VPS 就非啟用這個 PDO 不行,啟用這個 MySQL PDO 的方法是要在設定 ./configure 的時候,加入 PDO 的 --enable-pdo 和 --with-pdo-mysql 參數。

和啟用 mysqli 一樣的,這兩個參數都需要指定 MySQL 的安裝資料夾,第一個 --enable-pdo 在後面要加入 mysql 所在的地方,以 Ubuntu 來說,會是在 /usr/bin 裡面,而第二個 --with-pdo-mysql 則是要指出 mysql_config 的位置, Ubuntu 在安裝 MySQL 之後,會把這個檔案放到 /usr/bin 裡,不過這個第二個 --with-pdo-mysql 參數是要指出完整路徑和檔案的,所以,就會是 /usr/bin/mysql_config,以下就是阿舍完整的指令:

./configure --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-openssl --with-gd --with-mysql=/usr/bin --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql=mysqlnd --with-mcrypt --with-zlib --enable-pdo=/usr/bin --with-pdo-mysql=/usr/bin/mysql_config

Ubuntu 如何編譯 ( Compile ) 支援 MySQLi 的 PHP ?

阿舍因為要使用 PHP-FPM ( PHP FastCGI Process Manager ),所以,就需要自己重頭來編譯 PHP 的原始程式,一開始阿舍只有在 ./configure 裡加了 --with-mysql -with--mysqli 而已, 結果,就都編不出程式來了,阿舍就一直試了好久,中間還遇到過說什麼找不到 ltdl 檔的,後來才知道,原來是阿舍少裝了一個 libltdl-dev 的套件,所以要用下面的指令來安裝。

sudoapt-get install libltdl-dev

但是,阿舍後來才發現真的原因,是因為 --with-mysql 和 -with--mysqli 少給了參數,這二個都分別要指向不同的資料夾. --with-mysql 需要知道 mysql 的程式路徑,而 --with-mysqli 則是需要知道 mysql_config 的所在位置,另外,還有一個 --with-mysql-sock 也是指定,所以,阿舍後來有試成功的指令如下 :

./configure --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-openssl --with-gd --with-mysql=/usr/bin --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-mysqli=/usr/bin/mysql_config --with-xml --with-mcrypt --with-zlib

這樣執行之後,再執行 sudo make all install 就可以把有支援 MySQLi 的 PHP 給裝起來了哩 !!

2010-06-01

Ubuntu 如何快速安裝 PHPMyAdmin ?

更新 : 此文待修正,請參考這篇文有詳細圖文說明 (外部連結)


上次阿舍介紹的是用 PHPMyAdmin 的原始程式碼來安裝的方式,這次阿舍要講的是直接用 apt-get 來安裝的方式,首先,當然是先安裝 PHPmyAdmin 囉 !!

sudo apt-get install phpmyadmin

過程中會跳出一個視窗來問你是用那一個 Web Server,選完之後還會再跳出一個視窗來問你說要不要入 MySQL 的管理者密碼,就按「是」,然後再輸入二次  MySQL 的 root 密碼,接下來就會繼續安裝到結束,這樣就算安裝完成了。

用瀏覽器打入 http://localhost/phpmyadmin 應該就會出現 PHPMyAdmin 的登入畫面了,預設的帳號就是 MySQL 的 root 帳號和密碼哩 !!.....

2010-05-19

Ubuntu 如何安裝 PHP5 的 cURL 擴充 ( extension ) ?

在 Ubuntu 安裝 PHP5 的 cURL 擴充是很簡單的事,只要用下面的指令就會自動安裝了,安裝之要記得重新啟動 Apache 伺服器才行,不然 Apache 還是不知道有裝 cURL 的...

sudo apt-get install php5-curl



sudo aptitude install php5-curl

2010-04-21

XAMPP 那個版本支援 PHP 5.2 版 ?

雖然 XAMPP 在新版本中,已經換成 PHP 5.3 版,不過,還是有不少人和阿舍一樣,有軟體還沒有支援 PHP 5.3 版的情形,所以,就會和阿舍一樣,需要找到能夠支援 PHP 5.2 版的 XAMPP 來用哩 ! 於是,阿舍就去翻翻 XAMPP 的 Change Log 看看。

結果,阿舍發現,XAMPP 的 1.7.1 版是最後一個還包含 PHP 5.2 版的 XAMPP 版本,XAMPP 1.7.2 之後的發行版本 ( Release ) 就都改用 PHP 5.3.x 版了,阿舍想證明一下,就把它下載來用看看,果然就是這樣,所以,如果一定要用 PHP 5.2.x 版本的話,就只能用 XAMPP 1.7.1 版囉 ! 需要的話,可以從這裡下載

2010-04-18

PHP 5.3 的 safe_mode 是什麼 ?

PHP 的 save_mode 主要是讓 PHP 可以更安全的在共享的虛擬機器上執行,不過,到了 PHP 5.3 版就已經取消了這項設定,所以,如果是用 PHP 5.3.0 以上的版本就可以不用設定這個項目,因為 PHP 認為現在的作業系統和 Web Server ( 網站伺服器 ) 都已經有類似的功能,大部分的 Hosting 公司也都會其它方式啟用這類功能,所以就不需要 PHP 自己來實作這項功能哩 !