构建一个php扩展,进入到php源码包的ext目录下执行“php ext_skel_win32.php --extname=reson”命令,却报:
“'sh' 不是内部或外部命令,也不是可运行的程序或批处理文件。
PHP Warning: fopen(reson/reson.dsp): failed to open stream: No such file or directory in D:\phpServer\php5.4.42s\ext\ext_skel_win32.php on line 45
Warning: fopen(reson/reson.dsp): failed to open stream: No such file or directory in D:\phpServer\php5.4.42s\ext\ext_skel_win32.php on line 45
PHP Warning: fopen(reson/reson.php): failed to open stream: No such file or directory in D:\phpServer\php5.4.42s\ext\ext_skel_win32.php on line 52
Warning: fopen(reson/reson.php): failed to open stream: No such file or directory in D:\phpServer\php5.4.42s\ext\ext_skel_win32.php on line 52”
这是因为系统没有安装cygwin(cygwin是一个在windows平台上运行的类UNIX模拟环境),不识别sh命令而导致。
解决步骤如下:
1、上网下载并安装cygwin,根据电脑实际情况选择32/64位。
2、修改“php ext_skel_win32.php”中的配置:$cygwin_path = 'c:\cygwin64\bin'; (改为你cygwin的实际路径)。
3、再次执行命令,便可以了。效果如下图所示,已经创建成功。
至此,大功告成!