php安装脚本中可能缺少mkdir()权限的解决方案

php安装脚本中可能缺少mkdir()权限的解决方案,php,file-permissions,mkdir,Php,File Permissions,Mkdir,好吧,我有个问题。我需要创建一个文件夹来存储php中编译的模板。我有一个安装脚本,它试图mkdir()一个合适的目录(compiled\u templates) 它总是返回此警告 警告:mkdir()[function.mkdir]:第92行/home/tchalvak/sites/quotesite/quotes/install.php中的权限被拒绝 运行更改将在其中创建编译的_模板文件夹的文件夹的模式时,也会出现相同权限问题的错误 是否无法确保您可以通过php创建相当于存储文件夹的内容?您必

好吧,我有个问题。我需要创建一个文件夹来存储php中编译的模板。我有一个安装脚本,它试图
mkdir()
一个合适的目录(
compiled\u templates

它总是返回此警告

警告:mkdir()[function.mkdir]:第92行/home/tchalvak/sites/quotesite/quotes/install.php中的权限被拒绝

运行更改将在其中创建编译的_模板文件夹的文件夹的模式时,也会出现相同权限问题的错误

是否无法确保您可以通过php创建相当于存储文件夹的内容?您必须使用外部php程序才能确保创建文件夹?其他php开发人员如何处理这个问题

编辑:这是一个可安装的脚本,所以总体目标是允许10个不同的随机人员在他们的服务器上安装脚本。不幸的是,这就是为什么“确保php对已编译的_templates目录拥有所有这些非常必要的写入权限”作为手动过程并不实用的原因


编辑:该死,在尝试创建临时目录时也出现了相同的权限错误。Lame.

如果是临时目录,请在系统临时目录中创建该目录

mkdir(sys_get_temp_dir() . 'example');

不过,一般的方法是简单地确保用户PHP在运行时(例如apache)在必要时具有写入权限。

通常我们会将系统设置为具有适当的权限,如果这不是一个选项,您的脚本将失败,并显示一条漂亮的描述性错误消息和可能的解决方案


既然你提到你想要一个临时文件夹,那么功能可能对你有用。

我同意将目录放在
tmp
中。要回答有关在安装程序脚本中处理此问题的更一般性问题,请执行以下操作。。。在运行脚本之前,应该在web根目录上设置perm,并确保在包中的任何dir上的perm都是正确的。尽管如此,我通常会尽量避免使用web安装程序,而是为php的CLI版本编写安装程序。当然,要做到这一点,您需要对机箱进行ssh访问,但对我来说,至少我很少不这样做。

如果使用system temp目录不适合您,我见过一些创造性的安装程序,它们要求FTP凭据,然后使用FTP创建目录并设置权限

然而,这可能有点太聪明了,不利于自身