如何让cygwin使用正确的路径?

时间:2013-12-05 18:37:42

标签: wordpress command-line cygwin

我正在尝试将WP-CLI与cygwin一起使用。 WP-CLI安装成功,但是当尝试在cygwin终端中运行其任何命令时,例如wp --info,它会给我这些警告:

MS-DOS style path detected: C:\cygwin\home\Evaldas\.wp-cli\vendor\wp-cli\wp-cli\php\boot-fs.php
Preferred POSIX equivalent is: /home/Evaldas/.wp-cli/vendor/wp-cli/wp-cli/php/boot-fs.php

include(/home/php/wp-cli.php):
failed to open stream: No such file or directory in /home/Evaldas/C:\cygwin\home\Evaldas\.wp-cli\vendor\wp-cli\wp-cli\php\boot-fs.php on line 17

文件boot-fs.php定义了这样的路径:

define( 'WP_CLI_ROOT', dirname( __DIR__ ) );
include WP_CLI_ROOT . '/php/wp-cli.php';

很明显,路径有些加倍并且格式错误,所以问题是如何设置cygwin工作路径?

1 个答案:

答案 0 :(得分:1)

您的__DIR__是以MS-DOS格式定义的,因为您的PHP程序是在Windows下安装的,它是定义__DIR__常量的,而不是Cygwin。但是,如果您的环境允许,可以按照以下步骤使用此功能。

  1. 卸载PHP for Windows。
  2. 按照http://sourceware.org/cygwinports/上的说明添加Cygwin端口作为来源。我添加了一个镜像站点ftp://mirrors.kernel.org/sources.redhat.com/cygwinports/
  3. 按照他们的建议运行cygstart程序并安装PHP以及您喜欢的任何扩展名作为Cygwin端口,该端口经过特殊修改后可在Cygwin环境中运行。
  4. 创建一个测试程序test.php,其中一行显示echo __DIR__;并从Cygwin内部运行它。确保在运行test.php时它以Cygwin样式格式回显路径,例如/ cygdrive / c / ...,而不是Windows C:...格式。