1

我有 3 个实时、暂存和开发站点,开发站点具有实时和数据库副本中所有文件的副本,但暂存不是因为它们都在同一物理服务器上(暂存和开发)我想将文件从开发同步链接到实时(它是 30GB)但我的 php 脚本无法打开路径中的一个目录是符号链接的文件。

我有符号链接

/srv/www/staging.server.com/htdocs/people/ to /srv/www/dev.server.com/htdocs/people/

我有示例文件,我可以从命令行和浏览器/srv/www/dev.server.com/htdocs/people/gnokii/zuluwarrior.svg访问它(通过),但 php 无法打开该文件。/srv/www/staging.server.com/htdocs/people/zuluwarrior.svg

file_exists返回 false 并file返回空数组。(我有将 svg 转换为 png 的代码,该代码可在实时服务器和开发服务器上运行,但因此无法在暂存服务器上运行)。

是否有一些禁用同步链接的 php 配置?我找到suhosin.executor.allow_symlink = Off了,但我认为它是用于执行脚本的。任何想法如何解决这一问题?

4

1 回答 1

2

我找到了将 base_dir 设置为 '/srv/www/staging.server.com' 并suhosin.executor.allow_symlink设置为 Off的原因

此标志在使用 open_basedir 时重新激活 symlink(),在 Suhosin >= 0.9.6 中默认禁用。在使用 open_basedir 时允许 symlink() 实际上存在安全风险。

于 2012-07-19T21:20:27.797 回答