一劃
2010-11-21 16:06:44
首先,要調整 PHP 的檔案大小上傳限制只能在 php.ini 裡變更,但是在 dreamhost 我們不能直接去改他原始的設定,所以要先了解 dreamhost 的個別 php.ini 的設定方法。
設定個別 php.ini 的幾個必要條件
- 在 manager domain 裡的 web 設定,PHP Mode 設定為 Fast CGI。
- 要使用 ssh 的帳號進行相關設定。
開始設置環境
-
在要使用個別 php.ini 的 web 的根目錄下建立 cgi-bin 的資料夾
$ mkdir $HOME/example.com/cgi-bin如果你的 ssh 登入使用者和你 web 的使用者不同,可以直接利用線上 webFTP 來進行。
權限設為 775 即可。 -
複製預設的 php.ini 檔到 cgi-bin 資料夾下
$ cp /etc/php5/cgi/php.ini $HOME/example.com/cgi-bin/php.ini同樣的,如果你的 ssh 登入使用者和你 web 的使用者不同的話,$HOME/example.com/ 請改為絕對路徑,或直接進入該資料夾,就複製到現有目錄即可。
$ cd /home/WEBUSER/example.com/cgi-bin
$ cp /etc/php5/cgi/php.ini ./
3. 建立 script wrapper
$ cat << EOF > $HOME/example.com/cgi-bin/php-wrapper.fcgi
> #!/bin/sh
> exec /dh/cgi-system/php5.cgi $*
EOF
or sh 登入使用者和你 web 的使用者不同
$ cd /home/WEBUSER/example.com/cgi-bin
$ cat << EOF > ./php-wrapper.fcgi
> #!/bin/sh
> exec /dh/cgi-system/php5.cgi $*
> EOF
4. 設定檔案權限
$ chmod 755 $HOME/example.com/cgi-bin
$ chmod 755 $HOME/example.com/cgi-bin/php-wrapper.fcgi
$ chmod 640 $HOME/example.com/cgi-bin/php.ini
or ssh 登入使用者和你 web 的使用者不同
$ cd /home/WEBUSER/example.com
$ chmod 755 cgi-bin
$ chmod 755 cgi-bin/php-wrapper.fcgi
$ chmod 640 cgi-bin/php.ini
5. 設定.htaccess
加入以下幾行
Options +ExecCGI
AddHandler php5-cgi .php
Action php-cgi /cgi-bin/php-wrapper.fcgi
Action php5-cgi /cgi-bin/php-wrapper.fcgi
假如 ssh 登入使用者和你 web 的使用者不同
則用web使用者去修改原有的 .htaccess 或新增
這樣基本上個別 php.ini 的設置就OK了。
接下來改 /home/WEBUSER/example.com/cgi-bin/php.ini 的檔
將 **post_max_size**, **upload_max_filesize** 改成你想要限制值就好了。
基本上 post_max_size 要大於等於 upload_max_filesize ,不過通常設一樣就OK了。
如果還不行,可以在 php-wrapper.fcgi 的執行命令最前面加入一行
export PHPRC=/home/WEBUSER/example.com/cgi-bin
變成
!/bin/sh
export PHPRC=/home/WEBUSER/example.com/cgi-bin
exec /dh/cgi-system/php5.cgi $*
再不行,就到 [http://wiki.dreamhost.com/PHP.ini](http://wiki.dreamhost.com/PHP.ini) 看看吧..