我正在尝试使PHP7.2在本地主机上运行,但是phpinfo()一直在说7.1.19到位,而〜php -v告诉我PHP7.2.18在这里。
我运行〜php -v它说:
PHP 7.2.18(cli)(内置:2019年5月2日13:03:01)(NTS) 版权所有(c)1997-2018 The PHP Group Zend Engine v3.2.0,版权所有(c)1998-2018 Zend Technologies Zend OPcache v7.2.18,版权所有(c)1999-2018,由Zend Technologies提供
〜echo $ PATH
/usr/local/opt/php@7.2/sbin:/usr/local/opt/php@7.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/ bin:/应用程序/ VMware Fusion.app/Contents/Public:/opt/X11/bin
我通过brew在
中安装了PHP7.2➜php@7.2 pwd
/usr/local/opt/php@7.2
我希望te就可以在localhost PHP 7.2.18上安装。
更新
按照@ miken32(How to use the php that brew installed?)提到的链接中的说明进行操作
在/ etc / apache2文件夹中编辑了httpd.conf
#LoadModule php7_module libexec/apache2/libphp7.so
LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
如果我取消注释第一行并注释第二行,则可以从本地主机运行phpinfo(),但是它说它是PHP 7.1.19,php -v
说是7.2.18
如果我注释第一行而取消注释第二行,则本地主机将不会启动,并且php -v
表示7.2.18
我也遵循了这些步骤,但是也没有运气。
$ brew update php // get the latest homebrew php packages
$ brew install php@7.2
$ brew link php@7.2 // create an alias to this keg-only version; see comments output during installation
$ echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.bash_profile // add the alias to your path; see comments output during installation
$ source ~/.bash_profile // reload .bash_profile to use the new settings immediately
$ sudo apachectl restart
也尝试冲泡link php71 --force
,但这也无济于事。
所以当我切换行httpd.conf时,似乎网络服务器没有启动
我可以采取7.2.18的任何步骤吗?
更新2
➜ apache2 sudo apachectl -t
httpd:/private/etc/apache2/httpd.conf的第178行的语法错误: 无法将/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so加载到 服务器:dlopen(/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so, 10):找不到合适的图像。做过 找到:\ n \ t/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so:代码 在(/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so)中签名 在使用库验证的过程中有效:映射文件没有 cdhash,完全未签名?代码必须至少是临时的 已签名。\ n \ t/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so:stat() 因errno = 22而失败
第178行说:
LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
必须调查一下。在较旧的文章中,SO的某处建议是否存在任何可能导致错误的“奇怪”字符。验证了它,唯一奇怪的是“ @”。但这是Brew现成的安装。