Drush + Cygwin PHP致命错误

时间:2014-10-07 00:46:31

标签: php drupal cygwin drush

我不得不在Windows 8.1上重新安装/更新Cygwin,而且我在Drupal 7网站上有一些破坏的Drush。

之前我遵循了这个指南Here所以我试着干净安装,并注意到你现在可以通过梨安装drush。

pear channel-discover pear.drush.org
pear install drush/drush

所以在我的主目录中:

$ drush --version
 Drush Version   :  6.2.0

这似乎有效,但是当我进入我的Drupal网站所在的目录时,我收到了PHP致命错误,就像PATH或者当我从那里进行匆忙时某些东西被打破了:

$ cd /cygdrive/c/websites/www.mywebsite.com
$ drush
require_once(c:/websites/www.mywebsite.com/modules/system/system.module): failed to open stream: No such file or directory drupal.inc:21           [warning]
PHP Fatal error:  require_once(): Failed opening required 'c:/websites/www.mywebsite.com/modules/system/system.module' (include_path='.:/usr/share/pear') in /usr/share/pear/drush/includes/drupal.inc on line 21
require_once(c:/websites/www.mywebsite.com/modules/system/system.module): failed to open stream: No such file or directory drupal.inc:21           [warning]
PHP Fatal error:  require_once(): Failed opening required 'c:/websites/www.mywebsite.com/modules/system/system.module' (include_path='.:/usr/share/pear') in /usr/share/pear/drush/includes/drupal.inc on line 21

我目前的设置是:

  • Windows 8.1
  • Cygwin
  • Drupal 7
  • 对于PHP,我使用WAMP,但PHP正在使用Cygwin

$ php -v
PHP 5.5.16 (cli) (built: Aug 24 2014 01:12:58)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

1 个答案:

答案 0 :(得分:0)

使用Cygwin的PHP版本时,“require”语句无法识别以驱动器号开头的路径名。因此require 'C:\path-to-file'通常会失败。在内部,它将'C:'视为相对路径并将其附加到默认目录,而不是将其视为绝对路径。

如果你重写require语句以使用__DIR__,那么事情通常会奏效。

require __DIR__ . '/modules/system/system.module';