2011-01-15 55 views
1

我分别安装了PHP和MySql,经过很多研究,我得到了一个工作系统,配置了IIS和php.ini。我现在想要移动并需要一个ORM,单元测试框架等,并且发现这应该都可以通过PEAR获得,并且PEAR已经在4.3之后的每个PHP中安装,但是我的机器上没有go-pear.bat。我从pear.php.net/go-pear下载了它,并得到了一系列警告,并最终出现错误。没有WAMP/XAMPP的windows上的php ...这是一个愚蠢的愚蠢?

  1. WAMP/XAMPP“需要”使用任何PHP扩展?
  2. 为什么我的PHP 5.3.4(来自windows.php.net)没有PEAR时接近网站和论坛帖子说它应该?
  3. go-pear.bat的这个错误是什么意思?梨是否需要WAMP/XAMPP,因为它显然不期待IIS?

    我们在c:\ program files \ php \ php.exe下找到php.exe,它使用了一个未知的SAPI。 PE AR命令行工具尚未经过测试,如果您有CLI(或CGI)php.exe可用,我们强烈建议使用它。

+0

那么,如果你喜欢手动操作,PEAR包也可以手动下载和提取。 – mario

+2

你可能会问,建立自己的汽车是否更好,或者只是漫步到经销商处购买预制的汽车。除非有一些非常具体的原因(例如,你在源代码级别制作特定的MOD),你不能使用预编译的版本,然后使用预编译的版本 –

+0

我倾向于同意Marc B.我开始尝试滚动我自己的,并很快切换到使用XAMPP。 (我已经切换到WAMP,但任何一个都可以,这取决于您的需求。) – RobertB

回答

1
  1. 简短的回答:没有。较长的回答:除非您熟悉各种组件之间的工作和相互关系,否则使用XAMPP或WAMP可以使事情变得更容易一些。

  2. 我刚刚从windows.php.net/download/下载了VC9.5的PHP 5.3.5版本,它有一个go-pear.bat文件。不清楚你为什么没有得到它。

  3. 下面是从复对PEAR.php代码确定PHP可执行的SAPI:

    exec($php_bin.' -v', $res); 
    if(is_array($res)) { 
        if(isset($res[0]) && strpos($res[0],"(cli)")) { 
         return 'cli'; 
        } 
        if(isset($res[0]) && strpos($res[0],"cgi")) { 
         return 'cgi'; 
        } else { 
         return 'unknown'; 
        } 
    } 
    

    基本上\path\to\php.exe -v没有返回要么“(CLI)”或“CGI”,在第一线当它被执行时的结果。这里是我的样子:

    J:\>php -v 
    PHP 5.2.16 (cli) (built: Dec 15 2010 18:13:29) 
    Copyright (c) 1997-2010 The PHP Group 
    Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies 
    
    J:\> 
    

    请注意首先我的版本有点旧。这只是因为我现在正在为5.2兼容性测试一些东西。 5.3应该给出类似的东西。还请注意,PHP是我的路径。

也许PHP不在你的道路上?环境变量设置不正确?有些东西阻止go-pear.php从-v选项获得良好响应。