我正在尝试使用 Illuminate 将我的 PHP Laravel 应用程序连接到 MySQL 数据库。为此,我需要 mysqli 扩展才能工作。但是,在我的 php.ini 文件中取消注释该行后:
extension=mysqli.so
...即使这会导致许多命令(例如
php --ini
等)产生以下输出:
PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli' (tried: /opt/homebrew/lib/php/pecl/20220829/mysqli (dlopen(/opt/homebrew/lib/php/pecl/20220829/mysqli, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20220829/mysqli' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/php/pecl/20220829/mysqli' (no such file), '/opt/homebrew/lib/php/pecl/20220829/mysqli' (no such file)), /opt/homebrew/lib/php/pecl/20220829/mysqli.so (dlopen(/opt/homebrew/lib/php/pecl/20220829/mysqli.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20220829/mysqli.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/php/pecl/20220829/mysqli.so' (no such file), '/opt/homebrew/lib/php/pecl/20220829/mysqli.so' (no such file))) in Unknown on line 0
对我的 mac 上这些目录的一些调查让我相信:
mysqli.so
文件。ryan@Ryans-MacBook-Pro ~ % brew install php-mysqli
Warning: No available formula with the name "php-mysqli". Did you mean php-zts?
==> Searching for similarly named formulae and casks...
==> Formulae
shivammathur/php/php-zts
To install shivammathur/php/php-zts, run:
brew install shivammathur/php/php-zts
我希望一定有一些方法可以将mysqli安装到我的Mac上......
如果将
extension=mysqli.so
编译为共享扩展,则需要 ini 条目 mysqli
。
所有 PHP brew 公式都使用 PHP 二进制文件静态编译
mysqli
,因此不需要此行,应将其删除。这将消除您收到的 PHP 警告。
然后,要检查
mysqli
是否正确加载,您可以运行php -m
命令。