PHP警告:无法加载动态库

Stu*_*ing 6 php apache sqlite apache2 php-extension

好的,我的PHP工作在我的mac os x Apache 2服务器上.我遇到的问题是它似乎无法找到允许我连接到sqlite数据库的扩展.

extension = php_sqlite.dll
extension = php_pdo_sqlite.dll
extension = php_sqlite3.dll
Run Code Online (Sandbox Code Playgroud)

我现在因为我已取消注释这些扩展而收到此错误..

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/php_sqlite3.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/php_sqlite3.dll, 9): image not found in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

对于所有人来说,这是同样的错误.
现在我已经在互联网上的不同地方读过它们可能是因为它们没有安装在我的Mac上,但是我找不到PHP目录或者它们会在哪里找到它们!
我对此非常陌生,所以任何帮助都将是盛大迪斯科

Fra*_*nes 13

您启用的DLL扩展实际上是针对Windows的.在Mac和其他*nix平台上,它们实际上是SO文件.

我在Mac上,看起来SQLite模块已经加载了.您应该可以在php.ini文件中注释掉这些行,重新启动Apache并使用SQLite而无需执行任何操作.只要我记得,SQLite模块已被包含在内.

如果它真的没有包含,你将不得不从源代码编译模块.这要求您安装Apple Developer Tools.

要从头开始编译(从命令行):

  1. 下载PHP的源代码.您需要下载与您系统上已安装的版本匹配的版本.要找出您正在使用的php -v那个,请从命令行键入.
  2. 使用tar -zxvf后跟文件名解压缩下载的存档.
  3. 键入cd php-5.3.x/ext/sqlite3/(其中"5.3.x"应替换为您的版本号,"sqlite3"可以是您要从上面的列表中安装的任何模块减去"php_"前缀).
  4. 类型phpize.
  5. 类型./configure.
  6. 类型make.
  7. 类型sudo make install.
  8. 添加extension=sqlite3.so到您的php.ini(再次确保将sqlite3.so替换为其他扩展名,如果您编译其他扩展名).

最后,重新启动Apache,你应该完成.