duangou6446
2011-06-29 15:50
浏览 139
已采纳

PHP警告:无法加载动态库

Ok I have PHP working on my mac os x Apache 2 server. Problem I am having is it can't seem to find the extensions that allow me to connect to an sqlite database.

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

I get this error now that I have uncommented these extensions..

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

It is the same error for all 3.
Now I have read in different places on the internet it could be that they aren't installed on my mac, but I can't find the PHP directory or anywhere where they would be!
I'm very new to this so any help would be grand Disco

图片转代码服务由CSDN问答提供 功能建议

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

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

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

  PHP警告:PHP启动:无法加载动态库'/ 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):在第0行的未知中找不到图像
 <  / code>  
 
 

所有3都是同样的错误。
我现在在互联网上的不同地方读过它们可能是因为它们没有安装在我的Mac上, 但我找不到PHP目录或者它们会在哪里找到它们!
我对此非常新,所以任何帮助都是盛大的 Disco

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • doupang1917 2011-06-29 16:05
    已采纳

    The DLL extension you've enabled are actually for Windows. On Mac and other *nix platforms, they're actually SO files.

    I'm on a Mac as well as it appears that the SQLite modules are already loaded. You should be able to comment out those lines in your php.ini file, restart Apache and use SQLite without having to do anything. The SQLite modules have been included for as long as I can remember.

    If it's really not included, you'll have to compile the modules from source. That requires that you install the Apple Developer Tools.

    To compile from scratch (from the command line):

    1. Download the PHP's source code. You'll need to download the one that matches the version already installed on your system. To find out which one you're using, type php -v from the command line.
    2. Extract the archive you downloaded using tar -zxvf followed by the filename.
    3. Type cd php-5.3.x/ext/sqlite3/ (where "5.3.x" should be replaced with your version number and "sqlite3" can be any of the modules you want to install from your list above minus the "php_" prefix).
    4. Type phpize.
    5. Type ./configure.
    6. Type make.
    7. Type sudo make install.
    8. Add extension=sqlite3.so to your php.ini (again make sure to replace sqlite3.so with the name of the other extensions if you compile the others).

    Finally, restart Apache and you should be done.

    点赞 评论
  • douwen8424 2011-06-29 16:02

    Open php.ini. Look for the line that defines the location of your extensions. In my case (Windows machine), it goes like this:

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

    This gives you the location where all your extensions are located. Open it and check whether your SQLite extensions are indeed there.

    Also, make sure your extensions are actually meant for a Mac computer. Their filename extension should be "dylib" or maybe "so" (not sure - I don't have a Mac), while "dll" is a Windows-specific dynamic library filename extension (AFAIK).

    点赞 评论
  • dougudu3564 2018-06-19 03:45

    Try removing and then reinstalling the packages:

    brew rm mcrypt
    brew install mcrypt
    
    点赞 评论

相关推荐 更多相似问题