如何在Mac OSX上安装PHP 5.6 MySQL扩展

3

我正在尝试安装PHP 5.6,我工作的其中一个旧站点需要mysql扩展,但在运行以下命令时未安装:

brew install php56 --with-fpm --with-mysql --with-httpd

它安装了php56,一切都很好,但是它安装了mysqli扩展,我也需要mysql扩展。

有没有办法将此扩展安装到我的当前php设置中?

这是我目前安装的php扩展:

5.6 php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
ldap
libxml
mbstring
mongodb
mysqli
mysqlnd
odbc
openssl
pcntl
pcre
PDO
pdo_mysql
PDO_ODBC
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xdebug
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib

[Zend Modules]
Xdebug

只是好奇,谢谢!

macOS(现在称为)不是已经带有支持MySQL的PHP 5.6.30了吗?我的系统就是这样。只需运行“/usr/bin/php -i”进行确认即可。 - Bill Karwin
确实,但我需要弃用的mysql客户端库来处理一个旧的PHP 4项目,这不是使用homebrew安装的。 - liamjnorman
这毫无意义。据我所知,PHP 5.6 只会安装 mysqlnd 驱动程序,而不会安装其他任何东西。而且你不需要旧的 MySQL 客户端来运行 PHP 4 代码,你可能需要旧的 MySQL 客户端来连接一个旧的过时的 MySQL 服务器,比如版本 4.0 或者其他什么版本。听起来你有一个使用多个终止生命周期软件的项目。将应用程序移植到当前的 PHP 和当前的 MySQL 可能更容易些。 - Bill Karwin
是的,在这种情况下,我需要旧的MySQL客户端,因为它正在多个软件包中进行mysql_connect()调用。虽然代码库很大,但在这种情况下升级绝对是更好的选择。 - liamjnorman
2个回答

2
尝试以下步骤:
brew reinstall php56 --with-fpm --with-libmysql --with-httpd

根据homebrew安装程序选项,这将安装旧版mysql驱动程序而不是较新的本地驱动程序。我认为无法同时安装两者,因为它们会发生冲突。
如果您正在处理一个新项目,重构您的项目以使用本地驱动程序可能是值得的时间。

1
当我使用标志--with-fpm时,出现了错误。有什么建议吗? - Matthew Zackschewski

2
我通过以下方式找到了解决方案:https://github.com/Homebrew/homebrew-php/issues/4501 你可以执行以下操作:
just copy in /usr/local/lib:

libmysqlclient.a -> libmysqlclient_r.a
libmysqlclient.dylib -> libmysqlclient_r.dylib
try to install php with:
brew install php56 --with-libmysql --with-httpd --with-pear --build-from-source

这是正确的答案,因为在最近版本的Homebrew中,php@5.6除非使用--build-from-source选项,否则不会使用--with-libmysql选项。但是,您不需要手动复制libmysqlclient.*文件;使用brew安装mysql就足够了:brew install mysql && brew link mysql - Quinn Comendant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接