从内存中执行suphp

时间:2014-07-22 01:34:48

标签: php linux ram suphp

我管理linux上的服务器,它有php和suphp的apache。与大多数设置一样,所有程序文件当前都存储在磁盘上。

我想从ram运行suphp。然后我将suphp文件夹中的所有内容(配置文件,文件夹和程序总计约2.8MB)复制到ram。然后在磁盘上,我重命名了该文件夹,因此旧版本无法访问。我使用带有cp的-a开关来保留权限等。

然后我做了两次尝试,这两次都导致了失败。

首先,我创建一个名为suphp的链接(使用ln -s),指向ram中的suphp文件夹。然后,当我浏览文件/文件夹结构时,其他所有内容看起来都相同,就好像设置已准备就绪一样。

由于这不起作用,我通过删除suphp符号链接,然后创建一个空的suphp文件夹并将其挂载(使用mount --bind)到ram中的suphp文件夹再次尝试。这甚至没有用。

然后我查看了我的apache error_log,在我尝试这个步骤的过程中,直到我恢复了原始设置,我收到了各种错误消息,其中所有文本都有类似的相同内容:

"(2)没有这样的文件或目录:无法创建子进程:( suphp文件夹位置)/ sbin / suphp为(网站上php文件的完整路径)"。

令我感到困惑的是,为什么它不报告此类文件或目录而不是其他错误......

1 个答案:

答案 0 :(得分:0)

由于它是一个Apache模块(mod_suPHP),所以suPHP将被Apache加载到RAM中。没有理由将实际的文件/可执行文件移动到系统" ram"目录并设置符号链接,就像你已经完成的那样。

如果您的目的是将PHP脚本保留在内存中,请考虑使用像5.5或apc中内置的opcache,请参阅How to use PHP OPCache?