Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows 版的 realpath 有bug,返回的结果不一样 #912

Open
pifeifei opened this issue Jan 21, 2025 · 3 comments
Open

windows 版的 realpath 有bug,返回的结果不一样 #912

pifeifei opened this issue Jan 21, 2025 · 3 comments

Comments

@pifeifei
Copy link

Image

realpath(__DIR__); // 返回的结果是主目录的上一级目录,期望得到主目录

希望可以获得相同的结果

@jingjingxyk
Copy link
Contributor

jingjingxyk commented Jan 21, 2025

Image

realpath(DIR); // 返回的结果是主目录的上一级目录,期望得到主目录

希望可以获得相同的结果

因为windows 版是借助cygwin 环境实现的,所以看到使用的路径其实是 unix 风格,路径以 /cygdrive/盘符 开头
例子:

.\Downloads\swoole-cli-v5.1.6-cygwin-x64\bin\swoole-cli.exe ./swoole-cli/test.php
Image

比如: c:\users\administrator\swoole-cli\ 在cygwin 环境下,具体路径是/cygdrive/c/users/administrator/swoole-cli/

@jingjingxyk
Copy link
Contributor


C:\Users\Administrator\swoole-cli\var\runtime>C:\Users\Administrator\swoole-cli\php-cli-v8.2.27-cygwin-x64\bin\php.exe -c /cygdrive/C/Users/Administrator/swoole-cli/var/runtime/php.ini /cygdrive/C/Users/Administrator/swoole-cli/var/runtime/composer.phar list


@pifeifei
Copy link
Author

pifeifei commented Jan 30, 2025

Image
realpath(DIR); // 返回的结果是主目录的上一级目录,期望得到主目录
希望可以获得相同的结果

因为windows 版是借助cygwin 环境实现的,所以看到使用的路径其实是 unix 风格,路径以 /cygdrive/盘符 开头 例子:

.\Downloads\swoole-cli-v5.1.6-cygwin-x64\bin\swoole-cli.exe ./swoole-cli/test.php
Image
比如: c:\users\administrator\swoole-cli\ 在cygwin 环境下,具体路径是/cygdrive/c/users/administrator/swoole-cli/

我说的不是 cygwin 特定的前缀哦

在子目录的php文件中代码: realpath(__DIR__.'/../');
正常应该返回:/cygdrive/h/git/4-php/laravel-master
实际返回: /cygdrive/h/git/4-php 少了一层目录

PS: 我知道用cygwin 编译的,之前还编译过一次,因为有其他版本的php 一直编译失败,去掉原 php 的环境变量就编译成功了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants