【问题标题】:How to get Apache2.2 load the SQLite3 Class from PHP?如何让 Apache2.2 从 PHP 加载 SQLite3 类?
【发布时间】:2011-11-20 16:09:21
【问题描述】:

我目前正在尝试在 Windows 上获得一个可以工作的 PHP 环境,但由于某种原因 Apache 无法执行,例如print_r(SQLite3::version());,但说 Fatal error: Class 'SQLite3' not found in C:\Program Files (x86)\Apache2.2\htdocs\index.php on line 8,而 php.exe 打印完全正确的输出。

php.ini中我只加载extension=php_sqlite3.dll,没有别的。在 httpd.conf 中,我得到了 PHPIniDir "C:/Program Files (x86)/PHP/",它使 Apache 能够处理像 echo phpinfo(); 这样的普通 php 命令。

有人知道我必须做什么才能让 SQLite3 也通过 Apache 工作吗?

提前致谢!

编辑:

Nevremind,自己解决了:Windows 安装的默认行 extension_dir = "ext" 必须更改为绝对路径,在我的情况下为 extension_dir = "c:\Program Files (x86)\PHP\ext"。这一切都成功了!

【问题讨论】:

  • 当您运行phpinfo() 时,您会看到 SQLite3 模块已加载?

标签: windows apache sqlite php


【解决方案1】:

运行phpinfo() 并检查是否加载了扩展程序,如果没有,请检查Configuration File (php.ini) PathLoaded Configuration File 以查看它在哪里寻找php.ini 以及加载了哪个文件。如果正确,请将您的 ini 中的 display_startup_errors 设置为 on,并查看 apache 错误日志以查看加载某些扩展是否存在问题。我猜想在加载 sqlite 之前你需要加载 php_mbstring.dll

【讨论】:

  • 嗯,文件路径是“C:\Windows”,虽然加载的文件是“C:\Program Files (x86)\PHP\php.ini”,没错。这两个值不同是否正常?我将尝试 display_startup_errors 并稍后回到这里...
  • apache 错误日志中的错误:“PHP 致命错误:在 C:\\Program Files (x86)\\Apache2.2\\htdocs\\index.php 中找不到类 'SQLite3'第 8 行”。看起来对我没有帮助:(
  • 另外,在 php.ini 中搜索“mb_string”不会返回任何结果
  • 其实是php_mbstring.dll
猜你喜欢
  • 2010-12-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 2012-01-18
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 2016-04-03
相关资源
最近更新 更多