Web服务通常需要压缩几个大文件供客户端下载。 最明显的方法是创build一个临时的zip文件,然后或者将其echo给用户,或者将其保存到磁盘并redirect(将来有一段时间将其删除)。 但是,这样做有缺点: 密集的CPU和磁盘颠簸的初始阶段,导致… 在档案准备的同时,对用户的相当大的初始延迟 每个请求的内存占用量非常高 使用大量的临时磁盘空间 如果用户取消下载的一半,初始阶段(CPU,内存,磁盘)使用的所有资源将被浪费 像ZipStream-PHP这样的解决scheme通过将数据按文件铲入Apache文件来改善这一点。 但是,结果仍然是高内存使用率(文件全部加载到内存中),而且磁盘和CPU使用率也很高。 相比之下,请考虑下面的bash代码片段: ls -1 | zip -@ – | cat > file.zip # Note -@ is not supported on MacOS 在这里, zip以stream模式运行,导致内存占用less。 一个pipe道有一个整体的缓冲区 – 当缓冲区满时,操作系统暂停写入程序(pipe道左侧的程序)。 这里确保zip运行速度与cat输出速度一样快。 那么最好的方法就是做同样的事情:用web服务器进程replacecat ,将zip文件stream式传输给用户。 与仅传输文件相比,这会产生很小的开销,并且会有一个没有问题的,非尖锐的资源configuration文件。 你怎么能在LAMP栈上实现这个function?
有谁知道如何更改Apache服务器的文档根目录? 我基本上希望localhost来自/users/spencer/projects目录而不是/var/www 。 编辑 我终于搞清楚了。 有人build议我更改httpd.conf文件,但是我最终在/etc/apache2/sites-available/defaultfind了一个文件,并将根目录从/var/www更改为/home/myusername/projects_folder并且工作正常。
我刚刚用Apache,MySQL和PHP安装了Debian Lenny,我收到了一个PDOException could not find driver 。 这是它所指的特定的代码行: $dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS) DB_HOST , DB_NAME , DB_USER和DB_PASS是我定义的常量。 它在生产服务器(以及我之前的Ubuntu服务器设置)上工作正常。 这是我的PHP安装? search互联网没有帮助,我得到的只是专家交stream和例子,但没有解决scheme。
我在Ubuntu 12.04 LTS (Precise Pangolin)上安装了LAMP ,然后在phpMyAdmin上设置root密码。 我忘记了密码,现在我无法登录。 当我尝试通过终端更改密码时,我得到: 错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2) 我该如何解决这个问题? 我无法打开LAMP,卸载或重新安装。