XAMPP for Linux 1.8.0 の注意点
目次
(解決) phpMyAdminを開くと"Error 403"が
http://localhost/phpmyadmin/こんな画面、見たことありません ( ゚д゚)ポカーン
解決策は下記のページの最下段に書いてあります。
【参考】
Apache Friends Support Forum • View topic - New XAMPP security concept, from localhost? [Solved]
http://www.apachefriends.org/f/viewtopic.php?f=17&t=50970
これを下記のように書き換えます。
(/opt/lampp/etc/extra/httpd-xampp.conf)
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
あとはXAMPPを再起動すればOKです。
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Require all granted
</Directory>
$ sudo /opt/lampp/lampp restart
(未解決) デフォルトではSQLite2を使えない
状況
SQLite2用のPHP関数を使っているページを開くと、下記のようなエラーが。SQLite3は問題なく動きます。
Fatal error: Call to undefined function sqlite_open() in ...
リリースノートを確認
v1.8.0のリリースノートでは、SQLite2、3どちらも使えると書いています。【参考】
http://www.apachefriends.org/LAMPP-RELEASENOTES.txt
[2012-07-10] XAMPP for Linux 1.8.0This version of XAMPP includes:
...
- SQLite 2.8.17 (for PHP4 + PHP5)
- SQLite 3.6.16 (for PHP5 PDO SQLite)
[2011-09-19] XAMPP for Linux 1.7.7
This version of XAMPP includes:
...
- SQLite 2.8.17 (for PHP4 + PHP5)
- SQLite 3.6.16 (for PHP5 PDO SQLite)
"phpinfo()"で確認
バージョン2関連の記述がありません…!私が借りているサーバ(usamimi.info)のphpinfo()。
SQLite2、3どちらにも対応しています。
XAMPP 1.8.0のphpinfo()。
SQLite3の記述しかありません ( ゚д゚)ポカーン
モジュールを確認
(v1.7.7)
$ /opt/lampp/bin/php -m
...
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
...
SQLite
sqlite3
...
(v1.8.0)
$ /opt/lampp/bin/php -m
...
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
...
SPL
sqlite3
standard"SQLite"がない!!
PDOで実験
PDOは使えるようですし、PDO経由で接続してみました。だめでしたorz
$db = new PDO('sqlite2:foo.sqlite2');
$sql = "SELECT * FROM tbl";
$result = $conn->query($sql);
$rows = $result->fetchall();
foreach ($rows as $row) {
echo $row['name'];
}
SQLite3ならOKなんですが… (-_-;)
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in ...
$db = new PDO('sqlite:bar.sqlite3');
結論
MySQLは"httpd-xampp.conf"をほんの少し修正するだけでOKです。SQLite3は何も問題ありません。
SQLite2はこの際3へ移行するか、2のまま使い続ける必要があるのなら、バグ修正されるまでv1.7.7を使うことをお勧めします。