1

自从听说PHP 中的__HALT_COMPILER以来,我一直在对单文件 PHP 安装程序(包含 web 应用程序的文件树压缩存档的脚本)进行一些实验。

生成一个脚本似乎很容易,该脚本既包含归档文件,也包含解包和处理配置的逻辑。但是权限/用户相关的问题似乎有点棘手。很有可能(除了在 suexec/CGI 情况下)PHP 进程正在以 Web 服务器运行的任何用户身份运行,因此它可能没有权限在它运行的任何目录中写入。我想如果这个问题可以回避用户知道如何临时更改安装目标目录的权限,但是单文件安装背后的部分想法是简化用户必须做的事情,所以我不太喜欢这个。更重要的是,一旦安装完成,在我看来文件和子目录将归网络服务器用户所有,并且它们

我已经考虑过尝试使用susudo解决此问题。但是,我不确定如何导航将遵循已发出su/sudo命令的密码提示。我的理解sudo也可能仅限于一部分用户。

是否有一种创建 PHP 安装程序脚本的好方法,该脚本编写的文件具有用户修改友好的所有权和权限?

4

1 回答 1

1

是否有一种创建 PHP 安装程序脚本的好方法,该脚本编写的文件具有用户修改友好的所有权和权限?

我只见过使用一种方法成功完成此操作,这很可怕/有趣:FTP。FTP 扩展通常已启用,如果未启用,您还有多种其他选择。FTP 通常以正确的用户身份运行,使文件所有权和权限变得轻而易举。许多商业(和 OSS)消费级 PHP 包使用 FTP 技巧使事情变得更顺畅。

尽管正如其他人所提到的,如果您的目标是极客、拥有自己的机器(专用或虚拟化)的人或除消费级市场之外的任何东西,PEAR 或 PEAR2 发行版会取悦人们,如果您只针对 5.3 , phar 发行版是完全合适的。

于 2011-03-31T04:08:07.833 回答