【问题标题】:PHP + SQLite3 on Amazon AMI (EC2)Amazon AMI (EC2) 上的 PHP + SQLite3
【发布时间】:2012-10-31 15:53:03
【问题描述】:

我有一个与 this one 类似的问题,我希望我的 EC2(标准 Amazon AMI)上支持 sqlite3 php,但 PHP 是使用 --without-sqlite3 编译的。

如何添加 sqlite3 支持?它的软件来自存储库,所以我不能只重新运行./configure 脚本

更多信息:

我尝试从 PECL 安装它但没有成功,除此之外它还说版本是 0.6 (alpha) 并且 sqlite3 支持只能通过 PECL 短暂获得,应该编译成 PHP 可执行文件(我认为)。它令人困惑。

我也有 PDO 扩展(一些网站说 sqlite3 在 PDO 中)

这是我对 PECL 的尝试:

ec2-user[~]> pecl search sqlite
Retrieving data...0%
..Matched packages, channel pecl.php.net:
=======================================
Package    Stable/(Latest) Local
PDO_SQLITE 1.0.1 (stable)        SQLite v3 Interface driver for PDO
SQLite     1.0.3 (stable)        SQLite database bindings
sqlite3    0.6 (alpha)           SQLite v3 Database Bindings.
ec2-user[~]> pecl download sqlite3
Failed to download pecl/sqlite3 within preferred state "stable", latest release is version 0.6, stability "alpha", use "channel://pecl.php.net/sqlite3-0.6" to install
download failed
ec2-user[~]> pecl download channel://pecl.php.net/sqlite3-0.6
downloading sqlite3-0.6.tgz ...
Starting to download sqlite3-0.6.tgz (768,302 bytes)
.........................................................................................................................................................done: 768,302 bytes
File /home/ec2-user/sqlite3-0.6.tgz downloaded
ec2-user[~]> sudo pecl install sqlite3-0.6.tgz
84 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Optionally provide the path to the libsqlite3 library [autodetect] : yes
building in /var/tmp/pear-build-root8Jljf1/sqlite3-0.6

(...)

/var/tmp/sqlite3/sqlite3.c:1586: error: duplicate 'static' // repeated lots of times
make: *** [sqlite3.lo] Error 1
ERROR: `make' failed

编辑:没有php-sqlitephp5-sqlite

ec2-user[~]> sudo yum search sqlite
Loaded plugins: fastestmirror, priorities, security, update-motd, upgrade-helper
Loading mirror speeds from cached hostfile
 * amzn-main: packages.us-west-2.amazonaws.com
 * amzn-updates: packages.us-west-2.amazonaws.com
========================================================================= N/S Matched: sqlite ==========================================================================
apr-util-sqlite.x86_64 : APR utility library SQLite DBD driver
libdbi-dbd-sqlite.x86_64 : SQLite plugin for libdbi
python-sqlite.x86_64 : Python bindings for sqlite.
python24-sqlite.x86_64 : Python bindings for sqlite.
sqlite-devel.x86_64 : Development tools for the sqlite3 embeddable SQL database engine
sqlite-doc.x86_64 : Documentation for sqlite
sqlite-tcl.x86_64 : Tcl module for the sqlite3 embeddable SQL database engine
perl-DBD-SQLite.x86_64 : Self Contained RDBMS in a DBI Driver
sqlite.i686 : Library that implements an embeddable SQL database engine
sqlite.x86_64 : Library that implements an embeddable SQL database engine

编辑2:启用(默认禁用)Extra Packages for Enterprise Linux (EPEL) repository后也没有上述软件包可用

【问题讨论】:

  • 没有php5-sqlite 包可用? Amazon AMI 似乎是 ubuntu 安装。
  • @BartFriederichs:不,请参阅编辑
  • 您使用的是什么操作系统?我知道我们在 CentOS 上安装 PHP5 时使用了 utterramblings repo; jasonlitka.com
  • 它的 Amazon Linux AMI aws.amazon.com/amazon-linux-ami

标签: php sqlite amazon-ec2 installation


【解决方案1】:

我认为 Amazon AMI 现在可以解决这个问题。我从 repos 安装的默认 PHP 5.4 启用了 SQLite3 支持。

[root@amazon-ami php.d]# php -m | grep sqlite
pdo_sqlite
sqlite3
[root@amazon-ami php.d]#

例如,此代码对我来说很好用:

$db = new SQLite3('localDB.sqlite');

$db->exec('CREATE TABLE test (foo STRING)');
$db->exec("INSERT INTO test (foo) VALUES ('bar')");

$results = $db->query('SELECT foo FROM test');

while ($row = $results->fetchArray())
    echo $row['foo'];

【讨论】:

  • 我早就无法验证这一点,但按承诺接受您的回答。
【解决方案2】:

为此我最终放弃了 EC2,并在 VM 中安装了 Linux Mint。

如果有人知道解决方案,尽管我很乐意接受他的回答。

【讨论】:

    【解决方案3】:

    对于 Amazon linux 上的 sqlite,我做了以下操作:

    sudo yum install sqlite-devel
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-24
      • 2011-04-23
      • 2011-12-28
      • 1970-01-01
      • 2018-02-15
      • 1970-01-01
      • 2014-01-19
      • 1970-01-01
      相关资源
      最近更新 更多