Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP';s readfile v。阿帕奇_Php - Fatal编程技术网

PHP';s readfile v。阿帕奇

PHP';s readfile v。阿帕奇,php,Php,我正在计划申请。该应用程序提供大量图像。因为我希望图像只对那些有密码的人可用,同时我希望避免htaccess和htpasswd文件的麻烦,所以我的计划是将图像存储在web目录之外,并使用readfile为它们提供服务 我的问题是:使用readfile()与让Apache直接为文件提供服务相比,会有多大的性能差异?我只是不知道Apache和PHP是如何工作的,所以不知道我的计划是否合理 嗯。所以我在这个网站上浏览了一下,有些人建议使用readfile()作为“安全”服务图像的一种方式,现在可以存储

我正在计划申请。该应用程序提供大量图像。因为我希望图像只对那些有密码的人可用,同时我希望避免htaccess和htpasswd文件的麻烦,所以我的计划是将图像存储在web目录之外,并使用readfile为它们提供服务

我的问题是:使用readfile()与让Apache直接为文件提供服务相比,会有多大的性能差异?我只是不知道Apache和PHP是如何工作的,所以不知道我的计划是否合理

嗯。所以我在这个网站上浏览了一下,有些人建议使用readfile()作为“安全”服务图像的一种方式,现在可以存储在web根目录之外。我只是觉得在这个和htpasswd之间肯定还有其他选择。(感谢Pekka在下面对x-sendfile的评论。只是在本例中,这不是一个选项)


谢谢

问题是我喜欢PHP,但它不是最快的编程语言。当你真的需要性能时,你应该看看Facebook,把你的文件编译成原生C

我不知道你网站的大小,但是当你有很多请求时,
readfile()
file\u get\u contents()
可能会非常慢,占用大量内存


但这只有在您具有root访问权限时才可能实现

它可能很昂贵,因为每个请求都必须启动一个消耗内存的PHP进程。如果你有根用户访问你的服务器,这是一个折衷方案,谢谢。在这种情况下,x-sendfile不是一个选项,因为这个脚本将被分发,我正试图使它具有尽可能少的需求。我已经根据您的评论编辑了我的问题“尽可能少的要求”-同时提供这两种要求。使用Config中指定的脚本如果要创建用于重新分发的PHP脚本,您可能别无选择,只能使用
readfile()
,并具有所有内存和性能含义ShipHop?HipHop不会运行任何常见的PHP框架,通常很难让代码在HipHop上运行。我宁愿建议APC,但booth无论如何都不会加快readfile的速度。