phpstudy启用php_intl之后发生“计算机中丢失*.dll”错误的解决方法
最近新升级了新版的phpstudy,想试试php7感觉如何。
结果发现,安装完成之后,当开启了php_intl扩展的时候,让人头疼的问题来了。
每次启动phpstudy,都会报出一个错误"无法启动此程序,因为计算机中丢失icuio57.dll。尝试重新安装该程序以解决此问题"。
然后就认为是系统中缺少这个dll文件,但是百度了一下竟然没有找到这个dll文件。
因为之前也报出过别的dll文件错误,都是直接百度找到,然后解压到C:/Windows/System32和C:\Windows\SysWOW64文件夹下。然后在cmd中用regsvr32 *.dll来注册。(虽然这个过程也有错误,但是到最后都稀里糊涂的解决了,应该是重启之后,这个dll文件自动加入了系统变量了。不知道说的对不对)。
好了,不卖关子了。直接说这个问题的解决方案。我用了一晚上加一个上午的时间才搞懂这个问题。解决的方案其实很简单。
icuio57.dll,icudt57.dll,icuin57.dll等等,都是报这样的错误。我发现他们都有一个共同的头部,就是ICU,虽然我不知道这个是做什么的,直接百度了一下。找到这个东东的介绍http://www.oschina.net/p/icu/
然后,我从这里下载了win32和win64两个版本的http://apps.icu-project.org/icu-jsp/downloadPage.jsp?ver=57.1&base=c&svn=release-57-1
下载之后,解压,进入icu/bin目录,发现里边有我需要的dll文件了,哈哈
然后,按住ctrl,一一选择之后,复制。再打开phpstudy下的php/php-7.0.12-nts目录,将它们全部粘贴进去。重启phpstudy,不报错了!哈哈
不过,接下来,又出现了一个问题。因为平时开发都是用yii2,在用yii初始化的时候,又出现了这样的问题
这个问题,我还是能看懂的。就是说现在的dll不是win32,应该是说不是32位的吧。
刚刚那个ICU我下载了32位和64位两个版本。再把win32的解压缩,进入bin目录拷贝里边的dll文件。重复之前的操作。
大功告成!
在这里记录一下,防止以后再出现如此烦人的问题而浪费时间。
不过,虽然浪费了一些时间,但是心情还是很愉快的,哈哈