Yar*_*rin 23 php mamp path case-sensitive
我正在开发一个关于MAMP的PHP程序,并且刚刚实现了以下棘手的行为:
echo "<br/>PATH = ".dirname(__FILE__);
include 'include.php';
Run Code Online (Sandbox Code Playgroud)
include.php:
<?php
echo "<br/>PATH = ".dirname(__FILE__);
?>
Run Code Online (Sandbox Code Playgroud)
结果:
PATH =/users/me/stuff/mamp_server/my_site(全部小写)
PATH =/Users/me/Stuff/mamp_server/my_site(Mixed case)
是什么导致了这种不一致的行为,我该如何防范它?(请注意,我不能只将所有内容转换为小写,因为应用程序的目的地是Linux服务器,其中文件路径区分大小写.)
更新:
这个问题存在于__FILE__和__DIR__.
看起来这可能是一个真正的问题,没有解决方法...除非我另有说明,否则将提交错误报告.
错误报告:
https://bugs.php.net/bug.php?id=60017
更新:
另一个注意事项:如果你在Mac上做一个绝对路径包含(...),它需要混合大小写版本.
在与您的应用程序相同的目录中创建一个包含文件怎么样?
<?php return __DIR__; ?>
Run Code Online (Sandbox Code Playgroud)
像这样使用它:
$trueDIR = include('get_true_dir.php');
Run Code Online (Sandbox Code Playgroud)
从您上面发布的内容来看,这应该可行。是的,这是一个有点棘手的解决方法,但它是一种解决方法,即使在没有遇到此问题的系统上也应该有效。
| 归档时间: |
|
| 查看次数: |
2370 次 |
| 最近记录: |