將 dreamhost 的PHP檔案大小上傳最大限制調大
首先,要調整 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 ./
-
建立 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
-
設定檔案權限
$ 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
-
設定.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 看看吧..
最近Dreamhost的設定方法改了.
原本在 .htaccess 有關 PHP 的設定都 Mark 起來. 針對 php.ini 的設定, 改成在自己目錄下開一個 .php 資料夾, 再看你用的PHP版本, 在 .php 資料夾內開一個 5.3 or 5.4 的資料夾.
在該資料夾內建立 phprc 的檔, 有關的特殊 php.ini 設定就可以在 phprc 裡設定.
這裡的調整檔案大小上傳最大限制, Dreamhost 也有設上限, 最多只能調到64M, 再上去就是無效設定, 會強制用預設的 7M
以我自己本身的例子 先建立 ~/.php/5.3 然後新增並編輯 ~/.php/5.3/phprc 寫進 upload_max_filesize = 64M
就 ok 了