通过brew在macOS Monterey上安装PHP后找不到符号sqlite3_enable_load_extension
Posted
技术标签:
【中文标题】通过brew在macOS Monterey上安装PHP后找不到符号sqlite3_enable_load_extension【英文标题】:Can't find symbol sqlite3_enable_load_extension after install PHP on macOS Monterey via brew 【发布时间】:2022-01-08 15:03:15 【问题描述】:通过 brew 安装 php,按照这样的说明进行操作
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
The php.ini and php-fpm.ini file can be found in:
/usr/local/etc/php/8.1/
To restart php after an upgrade:
brew services restart php
Or, if you don't want/need a background service you can just run:
/usr/local/opt/php/sbin/php-fpm --nodaemonize
==> Summary
???? /usr/local/Cellar/php/8.1.0: 512 files, 79.9MB
==> Running `brew cleanup php`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
启用 php 和 this 对 php.so 进行签名。
之后,当我运行 apachectl configtest
时,我得到了 error 像这样
httpd: Syntax error on line 190 of /private/etc/apache2/httpd.conf: Cannot load /usr/local/Cellar/php/8.1.0/lib/httpd/modules/libphp.so into server: dlopen(/usr/local/Cellar/php/8.1.0/lib/httpd/modules/libphp.so, 0x000A): Symbol not found: _sqlite3_enable_load_extension\n Referenced from: /usr/local/Cellar/php/8.1.0/lib/httpd/modules/libphp.so\n Expected in: /usr/lib/libsqlite3.dylib
我该怎么办?
【问题讨论】:
【参考方案1】:我为此苦苦挣扎了 2 天,直到最终放弃。 这可能不是您正在寻找的答案,但我通过 Brew 安装了 Apache 并使用了该 httpd 而不是操作系统随附的 httpd。 在那之后的 10 分钟内,一切都启动并运行起来了。
【讨论】:
谢谢兄弟。如果使用htttpd
而不是默认的Apache
,它可以工作。现在,我只需使用phpstorm
将代码自动部署到远程测试服务器并使用xdebug
进行调试。以上是关于通过brew在macOS Monterey上安装PHP后找不到符号sqlite3_enable_load_extension的主要内容,如果未能解决你的问题,请参考以下文章
macOS monterey 12.6.1安装homebrew + nginx + php + mysql
macOS monterey 12.6.1安装homebrew + nginx + php + mysql
ARM macOS Monterey 上的 /usr/local/bin 损坏
在 OS Monterey 中使用 brew 安装 PHP 时出错