1

我刚开始为我的新工作涉足 PHP 和 Zend 3 框架。我想在框架中训练自己,因为这是他们使用的。

我已按照此处的教程进行操作,您将在其中为框架创建模块。在他们的示例中,他们将 SQLite 用于设置任务的简单数据库操作。我的问题就在这里。我已经实现了示例代码,直到我应该首先看到所有专辑都插入到数据库中。那是我收到错误的时候:

文件: .../vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Connection.php:282

信息: Connect Error: could not find driver

公平 - 然后我用谷歌搜索并发现在我的php.ini文件中我必须取消注释该extension=pdo_sqlite行。我已经做到了。我还安装了 packagephp7.3-sqlite包和我能找到的所有东西,这是运行它所必需的。

我没有为此使用 apache 或 nginx,我只是在这个简单的教程中使用 PHP 自己的内置网络服务器。

当我运行我的命令时:php -S me.localhost:1337 -t public public/index.php从我的工作区目录中,我得到:

PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20180731/pdo_sqlite (/usr/lib/php/20180731/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/pdo_sqlite.so (/usr/lib/php/20180731/pdo_sqlite.so: undefined symbol: php_pdo_unregister_driver)) in Unknown on line 0

和:

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlite.so' (tried: /usr/lib/php/20180731/pdo_sqlite.so (/usr/lib/php/20180731/pdo_sqlite.so: undefined symbol: sqlite3_column_table_name), /usr/lib/php/20180731/pdo_sqlite.so.so (/usr/lib/php/20180731/pdo_sqlite.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

我检查了我的文件系统和文件路径:/usr/lib/php/20180731/pdo_sqlite.so确实存在。

ls -la /usr/lib/php/20180731/
total 6792
drwxr-xr-x 2 root root    4096 Mar 13 16:34 .
drwxr-xr-x 4 root root    4096 Mar 13 16:31 ..
-rw-r--r-- 1 root root   30824 Mar  7 21:31 calendar.so
-rw-r--r-- 1 root root   14440 Mar  7 21:31 ctype.so
-rw-r--r-- 1 root root   84072 Mar  7 21:31 exif.so
-rw-r--r-- 1 root root 5425264 Mar  7 21:31 fileinfo.so
-rw-r--r-- 1 root root   59496 Mar  7 21:31 ftp.so
-rw-r--r-- 1 root root   14440 Mar  7 21:31 gettext.so
-rw-r--r-- 1 root root   43112 Mar  7 21:31 iconv.so
-rw-r--r-- 1 root root   43112 Mar  7 21:31 json.so
-rw-r--r-- 1 root root  506352 Mar  7 21:31 opcache.so
-rw-r--r-- 1 root root  108648 Mar  7 21:31 pdo.so
-rw-r--r-- 1 root root   30824 Mar  7 21:31 pdo_sqlite.so
-rw-r--r-- 1 root root  268392 Mar  7 21:31 phar.so
-rw-r--r-- 1 root root   34920 Mar  7 21:31 posix.so
-rw-r--r-- 1 root root   30824 Mar  7 21:31 readline.so
-rw-r--r-- 1 root root   14440 Mar  7 21:31 shmop.so
-rw-r--r-- 1 root root   88168 Mar  7 21:31 sockets.so
-rw-r--r-- 1 root root   51304 Mar  7 21:31 sqlite3.so
-rw-r--r-- 1 root root   14440 Mar  7 21:31 sysvmsg.so
-rw-r--r-- 1 root root   10344 Mar  7 21:31 sysvsem.so
-rw-r--r-- 1 root root   14440 Mar  7 21:31 sysvshm.so
-rw-r--r-- 1 root root   18536 Mar  7 21:31 tokenizer.so

如您所见,ls -la输出表明文件存在。我真的不知道从这里做什么。我尝试了很多东西,甚至清除了我的 php 安装并只安装了 php 7.3。希望你能帮忙。

4

0 回答 0