Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安装intl PHP扩展OSX High Sierra_Php_Intl_Macos High Sierra - Fatal编程技术网

安装intl PHP扩展OSX High Sierra

安装intl PHP扩展OSX High Sierra,php,intl,macos-high-sierra,Php,Intl,Macos High Sierra,如何在随osx high sierra提供的PHP7.1.7中安装intl PHP扩展?我找到了一个解决方案 curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1 然后,我将intl.so从安装复制到我的扩展目录中,该目录定义在我的php.ini中。除了(运行brew install php71 intl)之外,还将int.so路径粘贴到文件末尾的/php.ini: extension=/usr/local/Cellar/php71-i

如何在随osx high sierra提供的PHP7.1.7中安装intl PHP扩展?

我找到了一个解决方案

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
然后,我将intl.so从安装复制到我的扩展目录中,该目录定义在我的php.ini中。

除了(运行
brew install php71 intl
)之外,还将
int.so
路径粘贴到文件末尾的
/php.ini

extension=/usr/local/Cellar/php71-intl/7.1.11_20/intl.so

打开一个终端,然后键入:

brew search intl
php -i | grep intl
您应该能够看到php71 intl,然后运行

brew install homebrew/php/php71-intl
然后重新启动apache

sudo apachectl restart
然后键入:

brew search intl
php -i | grep intl
您应该能够看到如下内容:

Additional .ini files parsed => /usr/local/etc/php/7.1/conf.d/ext-intl.ini
intl
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0
享受吧

试试这个

brew install homebrew/php/php71-intl

我已经设法解决了这个问题

首先使用brew完全卸载所有php软件包,然后运行
brew update
brew doctor
命令

现在使用
brew安装进行安装php@7.1
(根据需要更改版本)intl包含在所有php公式的构建中


要确认它是否正常工作,请运行
php-m | grep intl
。您将看到包含了intl扩展。如果没有,请检查php.ini文件并确保已加载扩展名。

我正在操作系统上运行brew 1.6.2。到目前为止,brew软件包中尚未提供intl扩展

@Mondy解决方案对我很有效。运行后

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
软件包将在/usr/local/php5或/usr/local/php5-7.0.27-20180201-135220中提供

因此,在/usr/local/etc/php/7.0/php.ini中,可以放置以下行以启用intl扩展:

[intl]
extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20151012/intl.so"

在我的例子中,我更喜欢在/usr/local/etc/php/7.0/conf.d/中创建一个文件“ext-intl.ini”,只是为了更好的组织。

在从
brew/php
集成到
brew/core
后,
intl
扩展名包含在默认安装中。我也有同样的问题,
intl
扩展无法工作。我遇到的问题是命令行环境没有使用安装的PHP版本,而是使用macOS系统的默认版本

要启用已安装的版本,您需要执行以下操作:

之后

brew安装php@7.1

您需要通过以下方式链接已安装的PHP版本:

brew链接php@7.1

然后您需要打开一个新的终端以使其生效。
然后仔细检查PHP二进制路径,

哪个php

确保它是正确的

/usr/local/bin/php
而不是

/usr/bin/php

然后检查intl扩展是否已启用,

php-m| grep intl


它对我很有效。

所以我也有同样的问题。正如其他人在这里评论的那样,High Sierra安装了PHP7.1,这个PHP版本使用它编译了intl

在我的案例中,我遵循了Neodork评论的以下部分:

“安装”PHP7.1(因此它来自brew本身,而不是High Sierra安装的)

brew安装php@7.1

升级到最新版本

brew升级php@7.1

Cell中参考的符号链接:

brew链接--覆盖--强制php@7.1

在我的bash配置文件中更改PHP路径

echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
重新加载bash配置文件(可以关闭终端并再次打开)

~/。bash_配置文件

检查国际

php-m|grep intl

注意:如果您遇到以下警告:

PHP警告:PHP启动:无法加载动态库“/usr/local/opt/php71 intl/intl.so”

然后必须禁用以前的intl:

mv/usr/local/etc/php/7.1/conf.d/ext-intl.ini/usr/local/etc/php/7.1/conf.d/ext-intl.ini.disabled


希望有帮助

使用删除以下文件

rm /usr/local/etc/php/7.1/conf.d/ext-intl.ini
对我有用,多亏了

在Mac上试试这个

php -v
sudo port install php7*-intl
更多信息 您可以在此页面找到端口包

您可以通过以下步骤安装
端口

并更改~/.bash_配置文件

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
如果出现错误,请检查以下步骤: 检查端口

sudo port list
sudo port selfupdate
sudo port search --name --glob 'php*'
sudo port install php**-intl

此页面包含有关端口使用的更多信息:

我使用brew安装了php7.2,并在Mac上与该版本链接,但在
phpinfo()
中甚至看不到版本号7.2。 它始终显示最新版本(7.1),即使使用brew卸载,也会显示intl扩展。 我发现我们必须修改httpd.conf文件(在我的例子中是/etc/apache2/httpd.conf),在该文件中可以找到

LoadModule php7_module libexec/apache2/libphp7.so
在这一行中,您必须使用新的php72路径覆盖:在我的情况下,它是

 LoadModule php7_module /usr/local/Cellar/php@7.2/7.2.31_1/lib/httpd/modules/libphp7.so

重新启动apache,它就可以正常工作。

您能更详细地介绍一下吗?在尝试sudo cp/usr/local/php5-7.1.13-20180201-134129/lib/php/extensions/no-debug-non-zts-20160303/intl.so/usr/lib/php/extensions/no-debug-non-zts-20160303/intl.so/usr/lib/php/extensions/no-debug-non-zts-20160303/intl.so时,执行上述命令后intl.so的位置在哪里不仅仅是扩展。此处有更多信息,自2018年4月1日起,homebrew/php选项卡已被弃用。PHP及其扩展的新交付方式是。。。一团糟。有些扩展是捆绑的,有些不是。不赞成php tap的人是个十足的***。在最新的sierra更新和brew升级后,一切都崩溃了。如果你不赞成某件事而赞成另一件事,检查另一件事是否有效。。。如果有人设法重新启动并运行intl,请回复。我尝试通过pecl安装,但这只会引发更多错误。
$brew卸载php71
,然后
brew安装php71——使用pear
php已移动到
homebrew/core
。公式重命名为
php@7.1
。它包括
intl
默认情况下,不需要手动加载或安装扩展。@miguelr正常工作,但我收到了一系列关于
PHP的警告警告警告:PHP启动:无法加载动态库'/usr/local/opt/php71 intl/intl.so'-dlopen(/usr/local/o