0

私はFedora16fc16.x86_64でphp+apacheを使用しています。私はphpとsqlite3(PDOを使用)を学んでいます。しかし、私のコードは何も機能しません。

<?php
    try {
    $db = new PDO('sqlite:./z4.db');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->prepare('SELECT * FROM users;');
    $posts = $db->execute();

        echo "test test";
        echo '<ul>';
        while ($post = $posts->fetchObject()) {
        echo '<li>' . $post->content . '</li>';
        }
        echo '</ul>';


    } catch (Exception $e) {
    die($e);
    }
?>

sqlite 3はOK、データベースファイルはOK、

php -mの出力:

apc
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
igbinary
json
libxml
mbstring
mcrypt
memcache
memcached
mhash
mongo
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib

rpm-qaの出力| grep php:

php-pecl-apc-3.1.9-2.fc16.x86_64
php-pgsql-5.3.11-1.fc16.x86_64
php-gd-5.3.11-1.fc16.x86_64
php-5.3.11-1.fc16.x86_64
php-pear-1.9.4-5.fc16.noarch
php-pdo-5.3.11-1.fc16.x86_64
php-pecl-mongo-1.2.10-1.fc16.x86_64
php-common-5.3.11-1.fc16.x86_64
php-devel-5.3.11-1.fc16.x86_64
php-cli-5.3.11-1.fc16.x86_64
php-mbstring-5.3.11-1.fc16.x86_64
php-mysql-5.3.11-1.fc16.x86_64
php-mcrypt-5.3.11-1.fc16.x86_64
php-pecl-memcached-1.0.2-6.fc16.x86_64
php-xml-5.3.11-1.fc16.x86_64
php-pecl-memcache-3.0.6-1.fc16.x86_64
php-pecl-igbinary-1.1.1-1.fc16.x86_64

php.iniにいくつかの拡張機能を追加した後、警告が表示されます。モジュール'xyz'はすでにUnknown0にロードされているので、それらを削除しました。

4

1 に答える 1

0

コマンド ライン経由で php を実行する場合、通常、Web サーバーが実行するのと同じ php バイナリを実行することはありません。それらは異なるバージョンである可能性があり、ほとんどの場合、異なる php.ini と構成があります。

からphpinfo () を使用しscript run through the webserverます。それを使用して編集する正しい php.ini ファイルを見つけ、Web サーバーを再起動して設定が更新されていることを確認します。

オンにしdisplay_errorsて設定error_reportingするE_ALL

于 2012-05-26T15:58:33.973 に答える