Armadilloフォーラム

Armadillo-840 PHP5+SQLTIE3動作について

a.miyazawa

2017年3月22日 20時06分

お世話になっております、宮澤と申します。

Armadillo-840上で、WEBサーバを構築しています。
lighttpd+PHP5+SQLITE3にて開発を行っております。
ATDE上では動作は問題ありませんが、Armadilloへの移行ができません。

lighttdd+PHP5は問題なく動作しますが、SQLITE3が、
「Fatal error: Class 'SQLite3' not found in /home/www-data/group.php on line 470]
となりってしまいます。
> 469行 $dbname = 'DB/ChildInfo.db';
> 470行 $setdb = new SQLite3($dbname);

LINUXへのインストールは、
・sudo apt-get update
・sudo apt-get install php5
・sudo apt-get install sqlite3 php5-sqlit
のみで動作しています。

ArmadilloのインストールはDebianパッケージで行っています。
PHP5は
>>>
以下を、Debianよりダウンロードして
 php5-cgi_5.4.45-0+deb7u7_armhf.deb
 libonig2_5.9.1-1_armhf.deb
 libqdbm14_1.8.78-2_armhf.deb
以下でインストールして
dpkg-cross -M --build --arch armhf libonig2_5.9.1-1_armhf.deb
dpkg-cross -M --build --arch armhf libqdbm14_1.8.78-2_armhf.deb
sudo dpkg -i libonig2-armhf-cross_5.9.1-1_all.deb
sudo dpkg -i libqdbm14-armhf-cross_1.8.78-2_all.deb

dpkg -x php5-cgi_5.4.45-0+deb7u7_armhf.deb temp_php5-cgi
作成されたphp5-cgiを 
 atmark-dist/vendors/AtmarkTechno/my-product/usr/bin/ へコピー
>>>
http://d.hatena.ne.jp/toshifusa1423/20100728/1280305633
記載の 6.lighttpd.confを下記のように編集する。(2か所)
<<<

SQLITE3については、
>>>
以下を、Debianよりダウンロードして
libsqlite3-0_3.7.13-1+deb7u3_armhf.deb
libreadline6_6.2+dfsg-0.1_armhf.deb
php5-sqlite_5.4.45-0+deb7u7_armhf.deb

以下でインストールして
dpkg-cross -M --build --arch armhf libsqlite3-0_3.7.13-1+deb7u3_armhf.deb
dpkg-cross -M --build --arch armhf libreadline6_6.2+dfsg-0.1_armhf.deb
sudo dpkg -i libsqlite3-0-armhf-cross_3.7.13-1+deb7u3_all.deb
sudo dpkg -i libreadline6-armhf-cross_6.2+dfsg-0.1_all.deb

dpkg -x php5-sqlite_5.4.45-0+deb7u7_armhf.deb temp_php5-sqlit
作成されたusr下を 
 atmark-dist/vendors/AtmarkTechno/my-product/usr/へコピー
>>>
上記を行い、makeして、Armadilloで確認を行っております。

debianのインストール方法等は、あまり理解できておりません、
基本的な方向性もそれているかも知れませんが、
それらを含め、お教えください。

長文で申し訳ありませんが、よろしくお願い申し上げます。

コメント

at_yashi

2017年3月23日 16時15分

PHP が、sqlite のモジュールをみつけていないんですよね?

phpinfo()get_loaded_extensions() で sqlite は出てきますか?

> atmark-dist/vendors/AtmarkTechno/my-product/usr/へコピー

と書かれていますが、PHP は /usr 以下にあるモジュールをロードするようになっていないような気がします。

a.miyazawa

2017年3月23日 21時43分

宮澤です。
回答ありがとうございます。
ご指示のphpinfo()を確認したところ、Configuration File Pathの設定が不一致でした。
指定場所に、PHP.ini、conf.d/xxx.iniを設定したところsqlite3でDBアクセスが可能になりました。
現状は、romfs上でファイルを設定し、make imageでの動作確認です、
makeのみで正しい設定になるかはもう少し整理してみます。
ありがとうございました。