如何使windows符号链接与mod_php一起工作?
我正在尝试从PHP中使用Windows7上的符号链接。我使用Apache 2.4.10和PHP 5.5.15从普通用户帐户(非管理员)运行XAMPP。按照中的建议,我为我的用户设置了创建符号链接的正确权限。这很好,我可以从命令行创建符号链接(如何使windows符号链接与mod_php一起工作?,php,windows,apache,xampp,symlink,Php,Windows,Apache,Xampp,Symlink,我正在尝试从PHP中使用Windows7上的符号链接。我使用Apache 2.4.10和PHP 5.5.15从普通用户帐户(非管理员)运行XAMPP。按照中的建议,我为我的用户设置了创建符号链接的正确权限。这很好,我可以从命令行创建符号链接(mklink…),而无需提升。PHP的symlink()函数不会抛出任何权限(代码1314)错误 从命令行运行PHP或通过CGI加载PHP时,一切正常: symlink()能够创建符号链接(绝对和相对 目标路径) is\u link()对于符号链接返回tr
mklink…
),而无需提升。PHP的symlink()
函数不会抛出任何权限(代码1314)错误
从命令行运行PHP或通过CGI加载PHP时,一切正常:
能够创建符号链接(绝对和相对symlink()
目标路径)
对于符号链接返回trueis\u link()
返回符号链接的“link”filetype()
- 当目标是有效的绝对路径时,
只能创建符号链接(使用相对路径将抛出:symlink()
)警告:symlink():无法获取文件信息(错误2)
返回符号链接的falseis_link()
返回符号链接的'file'/'dir'filetype()
LoadFile“G:/xampp/php/php5ts.dll”
加载文件“G:/xampp/php/libpq.dll”
LoadModule php5_模块“G:/xampp/php/php5apache2_4.dll”
SetHandler应用程序/x-httpd-php
SetHandler应用程序/x-httpd-php-source
以下是php cgi设置:
LoadFile "G:/xampp/php/php5ts.dll"
LoadFile "G:/xampp/php/libpq.dll"
LoadModule php5_module "G:/xampp/php/php5apache2_4.dll"
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php-cgi
</FilesMatch>
<IfModule actions_module>
Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
</IfModule>
SetHandler应用程序/x-httpd-php-cgi
动作应用程序/x-httpd-php-cgi“/php-cgi/php-cgi.exe”
当目标是有效的绝对路径时,symlink()只能创建符号链接(使用相对路径将抛出:警告:symlink():无法获取文件信息(错误2))
这是由于PHP中的以下错误造成的:
is\u link
函数对于任何符号链接总是返回false。我的设置是:
- Windows 7 x64
- XAMPP 1.8.3
- PHP 5.5.11
is_link
(和filetype
)出现这些问题的原因,我不知道