Web

PHPでDBなんかに簡単につなぎたいので、設定

まず必要なパッケージをインストール

ii  php-pear       5.2.0-8+etch3  PEAR - PHP Extension and Application Reposit
ii  php5           5.2.0-8+etch3  server-side, HTML-embedded scripting languag
ii  php5-cgi       5.2.0-8+etch3  server-side, HTML-embedded scripting languag
ii  php5-cli       5.2.0-8+etch3  command-line interpreter for the php5 script
ii  php5-common    5.2.0-8+etch3  Common files for packages built from the php
ii  php5-dev       5.2.0-8+etch3  Files for PHP5 module development
ii  php5-gd        5.2.0-8+etch3  GD module for php5
ii  php5-mcrypt    5.2.0-8+etch3  MCrypt module for php5
ii  php5-mysql     5.2.0-8+etch3  MySQL module for php5
ii  phpmyadmin     2.9.1.1-3      Administrate MySQL over the WWW

ここらへんを入れてみる。その後

aya@comuro:~$ pear list
Installed packages, channel pear.php.net:
=========================================
Package            Version State
Archive_Tar        1.3.2   stable
Console_Getopt     1.2     stable
DB                 1.7.11  stable
PEAR               1.4.11  stable
Structures_Graph   1.0.2   stable

それで簡単なフォームを作って動かしてみると

$dbh = new PDO('mysql:host=localhost;dbname='.DB_NAME, DB_USER, DB_PASS); $sql = "INSERT INTO test (name, email) VALUES ('あや', 'aya@example.jp')"; $sth = $dbh->prepare($sql); $sth->execute(); unset($sth);

とすると  Fatal error: Call to a member function execute() on a non-object in test.php on line ## と出る。うむむ、と思って調べてみると pear/MDB2が必要みたいなので、pear intall MDB2としてみる。こちらは簡単にインストールが出来る。

MDB2               2.4.1   stable

ついでにこちらも

MDB2_Driver_mysql  1.4.1   stable <- *下記にメモあり
MDB2_Driver_mysqli 1.4.1   stable<- *下記にメモあり

必要そうなので、インストールをしようとしたら

pear/MDB2_Driver_mysql requires PHP extension "mysql"

と怒られる。ふーむと思って調べてみると、php.iniで設定がちゃんと反映されてないからだ!と言われる。

いつも編集しているのは/etc/php5/apache2/php.iniだったので、

  1. extension_dir
  2. extension=XXX.so
    を確認して、
  3. /etc/php5/cli/php.iniを
  4. apache2/php.iniにシンボリックリンクをはる。
  5. apache2をリロードして、 [#b1485dad]
  6. pear install MDB2_Driver_mysqlすると [#h9127e58]
aya@comuro:/etc/php5/cli$ sudo pear install MDB2_Driver_mysql
PHP Warning:  Module 'PDO' already loaded in Unknown on line 0
downloading MDB2_Driver_mysql-1.4.1.tar ...
Starting to download MDB2_Driver_mysql-1.4.1.tar (-1 bytes)
.........................................done: 196,096 bytes
install ok: channel://pear.php.net/MDB2_Driver_mysql-1.4.1
aya@comuro:/etc/php5/cli$ sudo pear install MDB2_Driver_mysqli
PHP Warning:  Module 'PDO' already loaded in Unknown on line 0
downloading MDB2_Driver_mysqli-1.4.1.tar ...
Starting to download MDB2_Driver_mysqli-1.4.1.tar (-1 bytes)
...........................................done: 204,800 bytes
install ok: channel://pear.php.net/MDB2_Driver_mysqli-1.4.1

とインストールすることが出来ました。

HTTP_Download入れるの忘れてた

ということで入れてみた。

aya@comuro:~$ sudo pear install --alldeps HTTP_Download
Failed to download pear/Archive_Zip within preferred state "stable", 
latest  release is version 0.1.1, stability "beta", 
use  "channel://pear.php.net/Archive_Zip-0.1.1" to install
pear/HTTP_Download can optionally use package "pear/Archive_Zip"
pear/HTTP_Download can optionally use PHP extension "mime_magic"
pear/HTTP_Download can optionally use PHP extension "pgsql"
downloading HTTP_Download-1.1.2.tar ...
Starting to download HTTP_Download-1.1.2.tar (-1 bytes)
..............done: 57,344 bytes
downloading HTTP_Header-1.2.0.tar ...
Starting to download HTTP_Header-1.2.0.tar (-1 bytes)
...done: 54,272 bytes
downloading MIME_Type-1.0.0.tar ...
Starting to download MIME_Type-1.0.0.tar (-1 bytes)
...done: 21,504 bytes
downloading HTTP-1.4.0.tar ...
Starting to download HTTP-1.4.0.tar (-1 bytes)
...done: 15,872 bytes
downloading System_Command-1.0.6.tar ...
Starting to download System_Command-1.0.6.tar (-1 bytes)
...done: 24,064 bytes
install ok: channel://pear.php.net/System_Command-1.0.6
install ok: channel://pear.php.net/HTTP-1.4.0
install ok: channel://pear.php.net/MIME_Type-1.0.0
install ok: channel://pear.php.net/HTTP_Header-1.2.0
install ok: channel://pear.php.net/HTTP_Download-1.1.2

Last-modified: 2012-03-12 (月) 17:05:30 (166d)