无法创建〜/ .gnome2目录:权限被拒绝 - 使用Cron PHP和phpseclib进行警告

I running a PHP script with cron that uses phpseclib installed via composer (version 0.3.9). I'm using Net_SFTP to check an sFTP server for new files. Everything is working fine, but the script is generating this warning:

(process:16615): libgnomevfs-WARNING **: Unable to create ~/.gnome2 directory: Permission denied

The script is run by the apache user. The warning will show up even without doing a login. Just instantiating the Net_SFTP class will trigger this, and I only see it when ran from the cron job. Here is the code:

<?php
$host = 'my.sftp.server';
$test = new Net_SFTP($host);

The cron for apache is configured like this:

MAILTO=myEmail@example.com
*/10 * * * * /usr/bin/php /var/www/sftpCheck.php

The error appears from the stderr output when the cron script runs. Any ideas what this warning is and how I can correct it?

dongxianglun5163
dongxianglun5163 它绝对是由@phpinfo()引起的;在BigInteger.php中调用
5 年多之前 回复
dtcmadj31951
dtcmadj31951 它越过fsockopen,它看起来像是在SSH2的_key_exchange()中的某个地方
5 年多之前 回复
douxi8759
douxi8759 我的猜测:可能是导致该错误的fsockopen()调用。该调用曾经在构造函数中,但后来被移动到login()方法。试试<?phpfsockopen($host,22);?>看看会发生什么。
5 年多之前 回复
duandi1919
duandi1919 嗨@neubert,我跑了0.3.6。我以为我更新到0.3.9,但我想我没有运行作曲家更新。更新后警告仍然显示,但这次只显示是否/何时调用登录方法。我正在修改该部分以确定发生此警告的位置。对不起,我无法分享ftp
5 年多之前 回复
douyue1481
douyue1481 你在运行什么版本的phpseclib?最新的是v0.3.9。如果你正在运行最新版本的lmk,我可以给你修改,这将有助于诊断问题(或者你可以给我SFTP访问服务器,如果你是如此倾向)。如果您没有运行最新版本,请升级并重试。
5 年多之前 回复
douyan4958
douyan4958 嗨@neubert。我注释掉了要测试的行并且警告消失了,所以它必须是Net_SFTP构造函数中的内容
5 年多之前 回复
douliangpo0128
douliangpo0128 哇-仅此一项就会触发错误?即使您注释掉了$test=newNet_SFTP($host);,如果您收到错误,这有点让我感到高兴。
5 年多之前 回复
doru52911
doru52911 嗨@neubert。即使在登录sftp服务器之前,警告也会触发。只是实例化该类将显示此警告。代码已添加到上面的答案中。我也不完全确定这是一个PHP警告,或系统级别的东西。
5 年多之前 回复
dstbtam8732
dstbtam8732 -很难说因为你没有发布任何代码。phpseclib本身不会生成任何看起来像这样的E_USER_WARNING消息,但是我再也不认为PHP会这样做。您是否尝试在sftp服务器或客户端服务器上创建目录?
5 年多之前 回复
doupan6648
doupan6648 感谢您的答复。$sftp->pwd()表示“/”。你认为它是在sftp服务器而不是在客户端服务器上创建〜/.gnome2目录吗?
5 年多之前 回复
dongwuwei0718
dongwuwei0718 首次登录时$sftp->pwd()会说什么?什么是权限/谁是该目录的所有者?创建/home/apache不会有任何好处SFTP服务器将有问题的用户放在/etc/目录中的默认目录(作为示例)。
5 年多之前 回复
doutang1884
doutang1884 apache用户在/home/目录下没有目录。我在里面创建了一个以及一个/.gnome2目录。我将这两个文件夹的权限更改为apache,仍然没有更改。
5 年多之前 回复
dongqie5529
dongqie5529 我只想自己创建文件夹,更改权限,然后看看会发生什么
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐