2014-10-07 6 views
1

Мне пришлось переустанавливать/обновлять Cygwin в Windows 8.1, и у меня есть некоторые, как сломанный Drush на моих сайтах Drupal 7.Drut + Cygwin PHP фатальные ошибки

Раньше я следовал этому руководству Here Итак, я попытался выполнить чистую установку drush и заметил, что теперь вы можете установить drush через грушу.

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

Так что в моем домашнем каталоге:

$ drush --version 
Drush Version : 6.2.0 

Это, кажется, работает, но когда я иду в мой каталог, где мой веб-сайт Друпал, я получаю PHP фатальных ошибок, это подобно PATH или что-то нарушается, когда я бегу Drush оттуда:

$ 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 
+0

Вы пытались добавить символические ссылки для того чтобы разрешить включать ошибки? – inertialmedia

ответ

0

При использовании версии PHP для Cygwin оператор «require» не распознает имена путей, которые начинаются с буквы диска. Таким образом, require 'C:\path-to-file', как правило, не работает. Внутри он видит «C:» как относительный путь и добавляет его в каталог по умолчанию, а не рассматривает его как абсолютный путь.

Если вы переписываете требуемые заявления для использования __DIR__, тогда обычно все работает.

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

 Смежные вопросы

  • Нет связанных вопросов^_^