我正在将大型PHP应用程序中的许多文件从本地存储迁移到远程存储。使用PHP流包装器作为中间解决方案来转换文件操作,这样我们就可以轻松地将fopen('/local/file/path')
等调用更改为fopen('scheme://remote/file/path')
。
到目前为止,我只遇到了一个被它打破的功能,那就是GD图像库(它的文件写入方法,如imagejpeg、imagegif和imagepng,不会写入文件流)。
此外,PHP安全选项拒绝对URL的include()
和require()
调用。
我试着查找已知不兼容的列表,但找不到。
我已经有几个可用的解决方案,所以我在那里,我们将进行广泛的测试,但我想提前知道是否有人以前经历过同样的过程。
具体来说,我们在Debian Squeeze上使用PHP 5.3.6。
我建议阅读以下内容:
http://www.php.net/manual/en/class.streamwrapper.php
你的很多答案都会在那里找到。