phpstudy开启php_intl扩展

2017-10-03  本文已影响0人  tiube00001

在win下面,我一直使用phpstudy这个集成环境。但今天在开启php_intl模块时遇到了点小麻烦:当我开启模块,重启服务器后报错: PHP Startup: Unable to load dynamic library 'D:\soft\phpstudy\PHPTutorial\php\php-7.0.12-nts\ext\php_intl.dll' - %1 不是有效的 Win32 应用程序。
至于php_intl是啥东西,这里就不做解释。用到了,自然就明白了。
出毛病了,肯定就是百度噻,(菜逼很少用Google,虽然我有梯子,但是en捉急)

一阵搜索,大多都说的是:

第一种解决方案:将php安装目录加入系统环境变量,win下面加入path
第二种解决方案:将icud*.dll一系列文件复制到apache的bin目录下。

问题分析

首先,我的php是加过环境变量的但是,问题依旧。能想到就是icud*.dll这一系列文件出问题了。
进入phpstudy的php的安装目录,发现,找不到它们……
这坑爹现象……估计是phpstudy为了省事,把这些不常用的给移除了。既然没有文件,那就找回来。

解决方法:

总觉得,把这些文件放到apache中不是好方法,如果我要在控制台直接使用php的intl扩展,不就是尴尬了,所以,我选择了第一种方案

1.查看php的版本,注意是64的还是32的
2.去官网下载一个对应的php的软件压缩包,记得是压缩包。地址,http://windows.php.net/download/
3.解压后,将icu*.dll一系列文件复制到phpstudy的php安装根目录,是根目录,不要放到ext扩展目录了
4.设置phpstudy的安装目录到path环境变量中,(如果已经设置了,就略过)

至此,php_intl就可以正常的跑起来了。所以集成环境虽然方便,但也不是万能的……

另附一份来自http://www.yiichina.com/doc/guide/2.0/tutorial-i18n的检查方法:
echo "PHP: " . PHP_VERSION . "\n";
echo "ICU: " . INTL_ICU_VERSION . "\n";
echo "ICU Data: " . INTL_ICU_DATA_VERSION . "\n";

上一篇下一篇

猜你喜欢

热点阅读