安装intl PHP扩展OSX High Sierra

时间:2017-10-09 18:38:48

标签: php intl macos-high-sierra

如何在PHP 7.1.7中安装intl PHP扩展,这是与osx high sierra一起提供的?

12 个答案:

答案 0 :(得分:41)

所以我遇到了完全相同的问题。正如在此评论的其他人所指出的那样,High Sierra附带安装了PHP 7.1,并且此PHP版本已对其进行了国际编译。

就我而言,我在下面的Valet+ issue中关注了Neodork评论的一部分:

“安装” PHP 7.1(因此它来自brew本身,而不是High Sierra安装的那个)

brew install php@7.1

将其升级到最新版本

brew upgrade php@7.1

在酒窖中供参考的符号链接:

brew link --overwrite --force 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_profile

检查国际航班

php -m | grep intl

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

PHP Warning: PHP Startup: Unable to load dynamic library '/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

希望有帮助!

答案 1 :(得分:11)

打开终端然后输入:

brew search intl

你应该能够看到php71-intl,然后运行

brew install homebrew/php/php71-intl

然后重启apache

sudo apachectl restart

然后输入:

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

享受!

答案 2 :(得分:10)

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

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

之后 brew install php@7.1

您需要通过以下方式链接已安装的PHP版本: brew link php@7.1

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

确保它是 /usr/local/bin/php 代替 /usr/bin/php

然后检查是否启用了国际扩展名, php -m | grep intl

对我有用。

答案 3 :(得分:4)

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

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

答案 4 :(得分:4)

我在OS High Sierra上运行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',只是为了更好的组织。

答案 5 :(得分:3)

我找到了解决方案。

{{1}}

然后我将intl.so从安装复制到我的扩展目录,该目录已定义到我的php.ini中。

答案 6 :(得分:1)

我设法解决了这个问题。

首先卸载完全使用brew的任何php软件包,然后运行#include<bits/stdc++.h> #define MAX 5 using namespace std; void bfs(int adj[][MAX],int visited[],int start){ int queue[MAX],rear=-1,front=-1; queue[++rear]=start; visited[start]=1; while(front!=rear){ start=queue[++front]; if(front!=rear) cout<<(char)(start+65); for(int i=0;i<MAX;i++){ if(adj[start][i]==1 && visited[i]==0){ queue[++rear]=i; visited[i]=1; } } } } main(){ int order; int visited[MAX]={0}; int adj[MAX][order];//here cin>>order; cout<<"Enter the adjacency matrix\n"; for(int i=0;i<MAX;i++) for(int j=0;j<MAX;j++){ cin>>adj[i][j]; } bfs(adj,visited,0); } brew update命令。

现在安装brew doctor(根据需要更改版本)intl包含在所有php公式的构建中。

确认它正在运行brew install php@7.1。您将看到包含intl扩展名。如果没有检查php.ini文件并确保正在加载扩展名。

答案 7 :(得分:1)

在Mac上尝试

php -v
sudo port install php7*-intl

更多信息

您可以在此页面https://www.macports.org/ports.php?by=name&substr=intl

中找到端口软件包

您可以通过以下步骤安装porthttps://guide.macports.org/chunked/installing.macports.html

curl -O https://distfiles.macports.org/MacPorts/MacPorts-2.5.4.tar.bz2
tar xf MacPorts-2.5.4.tar.bz2
cd MacPorts-2.5.4/
./configure
make
sudo make install

并更改〜/ .bash_profile

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

此页面具有有关端口使用情况的更多信息:https://guide.macports.org/chunked/using.html

答案 8 :(得分:0)

使用

删除以下文件
P&G

感谢homebrew-core Issue

为我工作

答案 9 :(得分:0)

我安装了带有brew的php7.2,并在Mac上与该版本链接,但即使在phpinfo()中也看不到版本号7.2。 即使使用brew卸载,它始终显示最新版本(7.1),因此是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,效果很好。

答案 10 :(得分:-4)

试试这个:

brew install php71-intl

答案 11 :(得分:-4)

试试这个

brew install homebrew/php/php71-intl