我正在尝试为我们托管的客户网站配置我们的服务器。他们的网站是 PHP,我不太熟悉,所以我不知道它是否以某种奇怪的方式工作。(我们所有的网站都是 ASP。)
他们通常通过 FTP 管理自己的网站。他们正在尝试添加sphiderplus
这些问题就是从这个网站开始的。
登录 sphiderplus 后,您会收到多次此错误的副本(针对 sphiderplus 根目录下的许多文件和文件夹):
Attention: Sphider-plus is unable to set full write permission
to the <filename> file in <foldername> folder.
Might cause problems for command line operation.
Modify the according server settings for PHP scripts.
我不确定我需要做什么才能为 PHP 提供适当的权限,以便 sphiderplus 正常运行。以下是我在谷歌搜索后采取的步骤,但没有奏效...
- 为 PHP 网站创建单独的应用程序池
- 为上述应用程序池创建了一个单独的本地用户
- 授予该本地用户
Full Control
对 sphiderplus 根目录的权限(具有传播功能) - 给了
IUSR
Full Control
sphiderplus 根目录的权限(具有传播功能) - 给了
IIS_IUSRS
Full Control
sphiderplus 根目录的权限(具有传播功能) - 给了
NETWORK SERVICE
Full Control
sphiderplus 根目录的权限(具有传播功能)
...然后只是为了好玩,当它仍然不起作用时,测试一下,
- 给了
Everyone
Full Control
sphiderplus 根目录的权限(具有传播功能)
我不知道还能尝试什么。也许有某种ini
文件config
需要我更改其中的某些行或类似的东西?我真的会想,如果没有别的办法,那么给Everyone
对整个 sphiderplus 目录的完全控制权应该可以。我不太确定还能做什么。
我们正在奔跑
- 从 Microsoft 的 Web 平台安装程序安装 PHP 7.0.5
- 从 Micosoft 的 Web 平台安装程序安装 FastCGI
- IIS 7.5.7600.16385
- Windows Server 2008 R2 SP1(v 6.1 b 7601)。
答案1
不管怎样,我通过改变检查文件/文件夹可写性的方式来解决这个问题。
sphiderplus 代码检查如下......
$perms = substr(decoct(fileperms("$tmp_dir/thread_ids.txt")), 2);
if ($perms != '0777') { /* output message */ }
我把那个代码改成这样...
if(!is_writable("$tmp_dir/thread_ids.txt")) { /* ouput message */ }
看起来工作正常。