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

發表時間: 2010-11-21 08: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 了