安装服务器系统无法找到 myext,Mac OS:未加载国际扩展

Brew的PHP 7.1、7.2和7.3 默认情况下均启用了INTL。

很可能您只是使用Mac OS的捆绑版本的PHP。

运行

ls -l $(which php)

找出当前PHP二进制文件的位置以及是否将其符号链接到Brew安装。就我而言,例如:

lrwxr-xr-x 1 27 May 23 16:30 /usr/local/bin/php -> ../Cellar/php/7.3.5/bin/php

意味着我的php已链接到Brew的7.3.5版本。

如果您不使用Brew的PHP,则会看到类似的内容

-rwxr-xr-x 1 11169664 Mar 21 07:09 /usr/bin/php

通过Brew安装PHP

找出您是否已安装PHP:

brew list | grep php

如果有任何输出,并且存在您的PHP版本,请转到步骤2,或使用步骤1将PHP更新到最新版本。

1。安装Homebrew的PHP

brew install php@7.3

(或7.2、7.1)。如果Brew抱怨无法找到公式,则可能是水龙头搞砸了。您可以尝试提供current php formula的完整路径,而不是php@7.3:

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/php.rb

仍然无法正常工作,请检查您是否正在运行Homebrew brew --version的最新版本。

Homebrew 2.1.3-31-geaf2370

Homebrew/homebrew-core (git revision fd1ef; last commit 2019-05-25)

Homebrew/homebrew-cask (git revision 16d50; last commit 2019-05-26)

2。链接Homebrew的PHP

现在,要让php位于您的路径中,有两种选择。

a) 任一自制软件的版本都必须从其安装位置(/ usr / local / bin / Cellar / php ... 。)到您路径中的目录(例如/ usr / local / bin)。为此,请运行:

brew link --force php@7.3

如果无法链接,通常是由设置权限或系统完整性保护引起的。在第一种情况下,请尝试sudo chown "$USER":admin /usr/local/bin/php。

b) 或,将/usr/local/opt/php@7.3目录(重击:

echo 'export PATH="/usr/local/opt/php@7.3/bin:/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.bash_profile

source ~/.bash_profile

3。验证安装

ls -l $(which php)

应显示php已链接到/usr/local/bin/Cellar中的Homebrew PHP安装。

php -v

应显示最近安装的PHP版本。如果不是这种情况,请尝试重新启动终端。

php -i | grep -i intl

应显示一些有关intl当前安装的信息。

如果您使用的是Web服务器和/或PHP FPM,则该重新启动这些服务了。 (或者,如果您不知道如何操作并且无法找出原因,请重新启动系统)。

可能的问题

如果仍然收到有关扩展名丢失的警告(无法加载动态库等),则说明您的php.ini混乱了。

找到php ini的当前位置

$ php -i | grep \.ini

Configuration File (php.ini) Path => /usr/local/etc/php/7.3

Loaded Configuration File => /usr/local/etc/php/7.3/php.ini

Scan this dir for additional .ini files => /usr/local/etc/php/7.3/conf.d

Additional .ini files parsed => /usr/local/etc/php/7.3/conf.d/ext-opcache.ini

....

编辑/usr/local/etc/php/7.3/php.ini并查找有问题的扩展名负载(例如extension="myext.so")。注释掉那些找不到的。

自制程序权限

Some argue,对/usr/local进行装饰是个好主意。

sudo chown -R "$USER":admin /usr/local

这将使手动和通过Homebrew在这里进行安装变得容易得多,但安全性也有所降低,因为现在也允许在非root用户进程中进行写操作。

您的网络应用程序使用的是其他版本的PHP。

请确保它没有...此配置取决于所用的Web服务器。第一步是使用<?php phpinfo();在您的Web应用程序中输出当前PHP配置。

让网络服务器+ PHP堆栈快速运行的另一种方法是使用Laravel Valet。

安装其他扩展程序

要安装其他PHP扩展,请使用PEAR。

pear -V

应该输出当前的PEAR和PHP版本。

PEAR Version: 1.10.9

PHP Version: 7.3.5

Zend Engine Version: 3.3.5

现在,要安装扩展,例如PHP的yaml扩展:

pear install yaml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值