PHP警告:无法加载dynamic库

好吧,我有我的Mac OS X Apache 2服务器上的PHP工作。 我遇到的问题是它似乎无法find允许我连接到SQLite数据库的扩展。

extension = php_sqlite.dll extension = php_pdo_sqlite.dll extension = php_sqlite3.dll 

我现在得到这个错误,我已经取消了这些扩展的注释..

 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 

所有这3个错误都是一样的。
现在我已经在互联网上的不同地方阅读,可能是他们没有安装在我的Mac,但我找不到PHP目录或任何地方他们会!
我很新,所以任何帮助将是大迪斯科

您启用的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,你应该完成。

打开php.ini。 查找定义扩展名位置的行。 在我的情况(Windows机器),它是这样的:

extension_dir = "C:\xampp\php\ext"

这给你所有分机的位置。 打开它并检查你的SQLite扩展是否确实存在。

另外,请确保您的扩展程序确实适用于Mac电脑。 他们的文件扩展名应该是“dylib”或者“so”(不知道 – 我没有Mac),而“dll”是一个特定于Windows的动态库文件扩展名(AFAIK)。