debian lennyでのPHP5とGD環境インストール
2011-01-18


写真公開サーバ構築の件で導入していたPHP環境ですが、lenny化とともに同じ手順を実行しましたが結果が異なってしまいました。

GD環境が使えない状況となってしまったのです。具体的で明確な対処方法は私の探した限りは全くありませんでした。 PHP環境の設定でみつかるのは驚くことにほとんどがWindows環境のもので、全く使い物になりません。どれだけ情報が普及していないのか・・・PHPって。クローズドな印象。

で、今回は以下のように対処しました。

  1. ライブラリ位置を確認(試行錯誤で当ってみて/usr/lib/php5に行き着く)
    KURO-BOX:/usr/lib/php5# ls -la
    total 24
    drwxr-xr-x  4 root root 4096 Jan 17 16:38 .
    drwxr-xr-x 32 root root 8192 Jan 17 16:46 ..
    drwxr-xr-x  2 root root 4096 Jan 17 16:46 20060613+lfs
    drwxr-xr-x  2 root root 4096 Jan 18 05:40 libexec
    -rwxr-xr-x  1 root root  278 Aug  4 15:39 maxlifetime
    KURO-BOX:/usr/lib/php5# ls -la *
    -rwxr-xr-x 1 root root  278 Aug  4 15:39 maxlifetime
    
    20060613+lfs:
    total 248
    drwxr-xr-x 2 root root   4096 Jan 17 16:46 .
    drwxr-xr-x 4 root root   4096 Jan 17 16:38 ..
    -rw-r--r-- 1 root root 121280 Aug  4 15:39 gd.so
    -rw-r--r-- 1 root root 111456 Aug  4 15:39 pdo.so
    
    libexec:
    total 8
    drwxr-xr-x 2 root root 4096 Jan 18 05:40 .
    drwxr-xr-x 4 root root 4096 Jan 17 16:38 ..
    KURO-BOX:/usr/lib/php5#
    
  2. ライブラリのシンボリックリンクをlibexecフォルダに作成(libexecには使うものをコピーするかシンボリックリンクをおくのだろうと想像。gd.soだけでなくついでなのでpdo.soも対応)
    KURO-BOX:/usr/lib/php5# ls -la *
    -rwxr-xr-x 1 root root  278 Aug  4 15:39 maxlifetime
    
    20060613+lfs:
    total 248
    drwxr-xr-x 2 root root   4096 Jan 17 16:46 .
    drwxr-xr-x 4 root root   4096 Jan 17 16:38 ..
    -rw-r--r-- 1 root root 121280 Aug  4 15:39 gd.so
    -rw-r--r-- 1 root root 111456 Aug  4 15:39 pdo.so
    
    libexec:
    total 8
    drwxr-xr-x 2 root root 4096 Jan 18 05:40 .
    drwxr-xr-x 4 root root 4096 Jan 17 16:38 ..
    lrwxrwxrwx 1 root root   21 Jan 18 05:40 gd.so -> ../20060613+lfs/gd.so
    lrwxrwxrwx 1 root root   22 Jan 18 05:40 pdo.so -> ../20060613+lfs/pdo.so
    KURO-BOX:/usr/lib/php5#
    
  3. /etc/php5/apache2/pho.iniを修正
    • extension_dirを設定
      ; Directory in which the loadable extensions (modules) reside.
      ; extension_dir = "./"
      extension_dir = "/usr/lib/php5/libexec"
      
    • extensionライブラリを指定
      ;;;;;;;;;;;;;;;;;;;;;;
      ; Dynamic Extensions ;
      ;;;;;;;;;;;;;;;;;;;;;;
      ;
      ; If you wish to have an extension loaded automatically, use the following
      ; syntax:
      ;
      ;   extension=modulename.extension
      ;
      ; For example, on Windows:
      ;
      ;   extension=msql.dll
      ;
      ; ... or under UNIX:
      ;
      ;   extension=msql.so
      ;
      ; Note that it should be the name of the module only; no directory information
      ; needs to go here.  Specify the location of the extension with the
      ; extension_dir directive above.
      
      extension=gd.so
      extension=pdo.so
      
インストール後の情報はこちら
[IT関連一般]
[linux]
[LinuxBOX]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット