將 dreamhost 的PHP檔案大小上傳最大限制調大

發表時間: 2010-11-21 16:06:44
一劃 @ 61.56.133.15

首先,要調整 PHP 的檔案大小上傳限制只能在 php.ini 裡變更,但是在 dreamhost 我們不能直接去改他原始的設定,所以要先了解 dreamhost 的個別 php.ini 的設定方法。

設定個別 php.ini 的幾個必要條件

  1. 在 manager domain 裡的 web 設定,PHP Mode 設定為 Fast CGI。
  2. 要使用 ssh 的帳號進行相關設定。

開始設置環境

  1. 在要使用個別 php.ini 的 web 的根目錄下建立 cgi-bin 的資料夾 $ mkdir $HOME/example.com/cgi-bin 如果你的 ssh 登入使用者和你 web 的使用者不同,可以直接利用線上 webFTP 來進行。 權限設為 775 即可。

  2. 複製預設的 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 看看吧..

一劃 @ 220.133.153.204

最近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 了

回應文章