Problem with readdir and ssh2 [message #180385] |
Thu, 07 February 2013 10:38 |
Paolo Varalta
Messages: 3 Registered: February 2013
Karma: 0
|
Junior Member |
|
|
Hi I'm Paolo from Italy.
I have a problem using readdir function (and other similar functions) under a ssh2 connection.
This is my script:
<?
$Server = "XXX.XXX.XXX.XXX";
$Porta = "XXXX";
$Login = "YYYYYYYY";
$Password = "ZZZZZZZZ";
if (!extension_loaded('ssh2'))
{exit();
}
$connection = ssh2_connect($Server, $Porta);
if (!$connection)
{exit();
}
if (!ssh2_auth_password($connection, $Login, $Password))
{exit();
}
if (!$sftp = ssh2_sftp($connection))
{exit();
}
if (is_dir("ssh2.sftp://$sftp/uploads/"))
{echo "1 Ok.\n";
$Directory = opendir("ssh2.sftp://$sftp/uploads/") or die ("");
if ($Directory)
{echo "2 Ok.\n";
while (false !== ($file = readdir($Directory)))
{echo "File -> ".$file."\n";
}
echo "3 Ok.\n";
}
}
unset($connection);
?>
(Obviously I have mask the important thinks)
If I try to use it in my VM debian server, I see this echo:
1 Ok
2 Ok
File -> TestFile1.csv
File -> TestFile2.csv
File -> TestFile3.csv
3 Ok
But if I try to use the same script in my regular server (a debian one, same version of the previous one, some php version, some ssh2 library version), I receive this echo:
1 Ok
2 Ok
3 Ok
Via tcpdump I see that SFTP server gives me exactly the same infos in both tests.
And if I try to open a file (knowing its name) with fopen/fgets in the second server, it works.
So why readdir (and functions similar) fails, while fopen/fgets works?
I watch php configurations on both server and thay seems identical.
Where do I have to search?
Thanks in advance
Best regards
Paolo
|
|
|
Re: Problem with readdir and ssh2 [message #180391 is a reply to message #180385] |
Thu, 07 February 2013 13:58 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 2/7/2013 5:38 AM, Paolo Varalta wrote:
> Hi I'm Paolo from Italy.
> I have a problem using readdir function (and other similar functions) under a ssh2 connection.
> This is my script:
>
> <?
> $Server = "XXX.XXX.XXX.XXX";
> $Porta = "XXXX";
> $Login = "YYYYYYYY";
> $Password = "ZZZZZZZZ";
> if (!extension_loaded('ssh2'))
> {exit();
> }
> $connection = ssh2_connect($Server, $Porta);
> if (!$connection)
> {exit();
> }
> if (!ssh2_auth_password($connection, $Login, $Password))
> {exit();
> }
> if (!$sftp = ssh2_sftp($connection))
> {exit();
> }
> if (is_dir("ssh2.sftp://$sftp/uploads/"))
> {echo "1 Ok.\n";
> $Directory = opendir("ssh2.sftp://$sftp/uploads/") or die ("");
> if ($Directory)
> {echo "2 Ok.\n";
> while (false !== ($file = readdir($Directory)))
> {echo "File -> ".$file."\n";
> }
> echo "3 Ok.\n";
> }
> }
> unset($connection);
> ?>
>
> (Obviously I have mask the important thinks)
> If I try to use it in my VM debian server, I see this echo:
>
> 1 Ok
> 2 Ok
> File -> TestFile1.csv
> File -> TestFile2.csv
> File -> TestFile3.csv
> 3 Ok
>
> But if I try to use the same script in my regular server (a debian one, same version of the previous one, some php version, some ssh2 library version), I receive this echo:
>
> 1 Ok
> 2 Ok
> 3 Ok
>
> Via tcpdump I see that SFTP server gives me exactly the same infos in both tests.
> And if I try to open a file (knowing its name) with fopen/fgets in the second server, it works.
>
> So why readdir (and functions similar) fails, while fopen/fgets works?
> I watch php configurations on both server and thay seems identical.
> Where do I have to search?
>
> Thanks in advance
> Best regards
> Paolo
>
How is system security set up in the working and failing systems?
Perhaps you don't have permission to list the directory in the failing one?
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: Problem with readdir and ssh2 [message #180393 is a reply to message #180391] |
Thu, 07 February 2013 14:28 |
Paolo Varalta
Messages: 3 Registered: February 2013
Karma: 0
|
Junior Member |
|
|
Il giorno giovedì 7 febbraio 2013 14:58:44 UTC+1, Jerry Stuckle ha scritto:
> On 2/7/2013 5:38 AM, Paolo Varalta wrote:
>
>> Hi I'm Paolo from Italy.
>
>> I have a problem using readdir function (and other similar functions) under a ssh2 connection.
>
>> This is my script:
>
>>
>
>> <?
>
>> $Server = "XXX.XXX.XXX.XXX";
>
>> $Porta = "XXXX";
>
>> $Login = "YYYYYYYY";
>
>> $Password = "ZZZZZZZZ";
>
>> if (!extension_loaded('ssh2'))
>
>> {exit();
>
>> }
>
>> $connection = ssh2_connect($Server, $Porta);
>
>> if (!$connection)
>
>> {exit();
>
>> }
>
>> if (!ssh2_auth_password($connection, $Login, $Password))
>
>> {exit();
>
>> }
>
>> if (!$sftp = ssh2_sftp($connection))
>
>> {exit();
>
>> }
>
>> if (is_dir("ssh2.sftp://$sftp/uploads/"))
>
>> {echo "1 Ok.\n";
>
>> $Directory = opendir("ssh2.sftp://$sftp/uploads/") or die ("");
>
>> if ($Directory)
>
>> {echo "2 Ok.\n";
>
>> while (false !== ($file = readdir($Directory)))
>
>> {echo "File -> ".$file."\n";
>
>> }
>
>> echo "3 Ok.\n";
>
>> }
>
>> }
>
>> unset($connection);
>
>> ?>
>
>>
>
>> (Obviously I have mask the important thinks)
>
>> If I try to use it in my VM debian server, I see this echo:
>
>>
>
>> 1 Ok
>
>> 2 Ok
>
>> File -> TestFile1.csv
>
>> File -> TestFile2.csv
>
>> File -> TestFile3.csv
>
>> 3 Ok
>
>>
>
>> But if I try to use the same script in my regular server (a debian one, same version of the previous one, some php version, some ssh2 library version), I receive this echo:
>
>>
>
>> 1 Ok
>
>> 2 Ok
>
>> 3 Ok
>
>>
>
>> Via tcpdump I see that SFTP server gives me exactly the same infos in both tests.
>
>> And if I try to open a file (knowing its name) with fopen/fgets in the second server, it works.
>
>>
>
>> So why readdir (and functions similar) fails, while fopen/fgets works?
>
>> I watch php configurations on both server and thay seems identical.
>
>> Where do I have to search?
>
>>
>
>> Thanks in advance
>
>> Best regards
>
>> Paolo
>
>>
>
>
>
> How is system security set up in the working and failing systems?
>
> Perhaps you don't have permission to list the directory in the failing one?
>
>
>
> --
>
> ==================
>
> Remove the "x" from my email address
>
> Jerry Stuckle
>
> JDS Computer Training Corp.
>
> jstucklex(at)attglobal(dot)net
>
> ==================
Hi Jerry and thank you.
How/Where can I find the infos of that kind of permissions?
Thanks in advance
Best regards
Paolo
|
|
|
Re: Problem with readdir and ssh2 [message #180394 is a reply to message #180393] |
Thu, 07 February 2013 14:54 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 2/7/2013 9:28 AM, Paolo Varalta wrote:
> Il giorno giovedì 7 febbraio 2013 14:58:44 UTC+1, Jerry Stuckle ha scritto:
>> On 2/7/2013 5:38 AM, Paolo Varalta wrote:
>>
>>> Hi I'm Paolo from Italy.
>>
>>> I have a problem using readdir function (and other similar functions) under a ssh2 connection.
>>
>>> This is my script:
>>
>>>
>>
>>> <?
>>
>>> $Server = "XXX.XXX.XXX.XXX";
>>
>>> $Porta = "XXXX";
>>
>>> $Login = "YYYYYYYY";
>>
>>> $Password = "ZZZZZZZZ";
>>
>>> if (!extension_loaded('ssh2'))
>>
>>> {exit();
>>
>>> }
>>
>>> $connection = ssh2_connect($Server, $Porta);
>>
>>> if (!$connection)
>>
>>> {exit();
>>
>>> }
>>
>>> if (!ssh2_auth_password($connection, $Login, $Password))
>>
>>> {exit();
>>
>>> }
>>
>>> if (!$sftp = ssh2_sftp($connection))
>>
>>> {exit();
>>
>>> }
>>
>>> if (is_dir("ssh2.sftp://$sftp/uploads/"))
>>
>>> {echo "1 Ok.\n";
>>
>>> $Directory = opendir("ssh2.sftp://$sftp/uploads/") or die ("");
>>
>>> if ($Directory)
>>
>>> {echo "2 Ok.\n";
>>
>>> while (false !== ($file = readdir($Directory)))
>>
>>> {echo "File -> ".$file."\n";
>>
>>> }
>>
>>> echo "3 Ok.\n";
>>
>>> }
>>
>>> }
>>
>>> unset($connection);
>>
>>> ?>
>>
>>>
>>
>>> (Obviously I have mask the important thinks)
>>
>>> If I try to use it in my VM debian server, I see this echo:
>>
>>>
>>
>>> 1 Ok
>>
>>> 2 Ok
>>
>>> File -> TestFile1.csv
>>
>>> File -> TestFile2.csv
>>
>>> File -> TestFile3.csv
>>
>>> 3 Ok
>>
>>>
>>
>>> But if I try to use the same script in my regular server (a debian one, same version of the previous one, some php version, some ssh2 library version), I receive this echo:
>>
>>>
>>
>>> 1 Ok
>>
>>> 2 Ok
>>
>>> 3 Ok
>>
>>>
>>
>>> Via tcpdump I see that SFTP server gives me exactly the same infos in both tests.
>>
>>> And if I try to open a file (knowing its name) with fopen/fgets in the second server, it works.
>>
>>>
>>
>>> So why readdir (and functions similar) fails, while fopen/fgets works?
>>
>>> I watch php configurations on both server and thay seems identical.
>>
>>> Where do I have to search?
>>
>>>
>>
>>> Thanks in advance
>>
>>> Best regards
>>
>>> Paolo
>>
>>>
>>
>>
>>
>> How is system security set up in the working and failing systems?
>>
>> Perhaps you don't have permission to list the directory in the failing one?
>>
>>
>>
>
> Hi Jerry and thank you.
>
> How/Where can I find the infos of that kind of permissions?
>
> Thanks in advance
> Best regards
> Paolo
>
It all depends on the version of Linux you're using. Try a Linux
administration book (or newsgroup) for your version.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: Problem with readdir and ssh2 [message #180395 is a reply to message #180394] |
Thu, 07 February 2013 15:31 |
Paolo Varalta
Messages: 3 Registered: February 2013
Karma: 0
|
Junior Member |
|
|
Il giorno giovedì 7 febbraio 2013 15:54:22 UTC+1, Jerry Stuckle ha scritto:
> On 2/7/2013 9:28 AM, Paolo Varalta wrote:
>
>> Il giorno gioved� 7 febbraio 2013 14:58:44 UTC+1, Jerry Stuckle ha scritto:
>
>>> On 2/7/2013 5:38 AM, Paolo Varalta wrote:
>
>>>
>
>>>> Hi I'm Paolo from Italy.
>
>>>
>
>>>> I have a problem using readdir function (and other similar functions) under a ssh2 connection.
>
>>>
>
>>>> This is my script:
>
>>>
>
>>>>
>
>>>
>
>>>> <?
>
>>>
>
>>>> $Server = "XXX.XXX.XXX.XXX";
>
>>>
>
>>>> $Porta = "XXXX";
>
>>>
>
>>>> $Login = "YYYYYYYY";
>
>>>
>
>>>> $Password = "ZZZZZZZZ";
>
>>>
>
>>>> if (!extension_loaded('ssh2'))
>
>>>
>
>>>> {exit();
>
>>>
>
>>>> }
>
>>>
>
>>>> $connection = ssh2_connect($Server, $Porta);
>
>>>
>
>>>> if (!$connection)
>
>>>
>
>>>> {exit();
>
>>>
>
>>>> }
>
>>>
>
>>>> if (!ssh2_auth_password($connection, $Login, $Password))
>
>>>
>
>>>> {exit();
>
>>>
>
>>>> }
>
>>>
>
>>>> if (!$sftp = ssh2_sftp($connection))
>
>>>
>
>>>> {exit();
>
>>>
>
>>>> }
>
>>>
>
>>>> if (is_dir("ssh2.sftp://$sftp/uploads/"))
>
>>>
>
>>>> {echo "1 Ok.\n";
>
>>>
>
>>>> $Directory = opendir("ssh2.sftp://$sftp/uploads/") or die ("");
>
>>>
>
>>>> if ($Directory)
>
>>>
>
>>>> {echo "2 Ok.\n";
>
>>>
>
>>>> while (false !== ($file = readdir($Directory)))
>
>>>
>
>>>> {echo "File -> ".$file."\n";
>
>>>
>
>>>> }
>
>>>
>
>>>> echo "3 Ok.\n";
>
>>>
>
>>>> }
>
>>>
>
>>>> }
>
>>>
>
>>>> unset($connection);
>
>>>
>
>>>> ?>
>
>>>
>
>>>>
>
>>>
>
>>>> (Obviously I have mask the important thinks)
>
>>>
>
>>>> If I try to use it in my VM debian server, I see this echo:
>
>>>
>
>>>>
>
>>>
>
>>>> 1 Ok
>
>>>
>
>>>> 2 Ok
>
>>>
>
>>>> File -> TestFile1.csv
>
>>>
>
>>>> File -> TestFile2.csv
>
>>>
>
>>>> File -> TestFile3.csv
>
>>>
>
>>>> 3 Ok
>
>>>
>
>>>>
>
>>>
>
>>>> But if I try to use the same script in my regular server (a debian one, same version of the previous one, some php version, some ssh2 library version), I receive this echo:
>
>>>
>
>>>>
>
>>>
>
>>>> 1 Ok
>
>>>
>
>>>> 2 Ok
>
>>>
>
>>>> 3 Ok
>
>>>
>
>>>>
>
>>>
>
>>>> Via tcpdump I see that SFTP server gives me exactly the same infos in both tests.
>
>>>
>
>>>> And if I try to open a file (knowing its name) with fopen/fgets in the second server, it works.
>
>>>
>
>>>>
>
>>>
>
>>>> So why readdir (and functions similar) fails, while fopen/fgets works?
>
>>>
>
>>>> I watch php configurations on both server and thay seems identical.
>
>>>
>
>>>> Where do I have to search?
>
>>>
>
>>>>
>
>>>
>
>>>> Thanks in advance
>
>>>
>
>>>> Best regards
>
>>>
>
>>>> Paolo
>
>>>
>
>>>>
>
>>>
>
>>>
>
>>>
>
>>> How is system security set up in the working and failing systems?
>
>>>
>
>>> Perhaps you don't have permission to list the directory in the failing one?
>
>>>
>
>>>
>
>>>
>
>>
>
>> Hi Jerry and thank you.
>
>>
>
>> How/Where can I find the infos of that kind of permissions?
>
>>
>
>> Thanks in advance
>
>> Best regards
>
>> Paolo
>
>>
>
>
>
> It all depends on the version of Linux you're using. Try a Linux
>
> administration book (or newsgroup) for your version.
>
>
>
> --
>
> ==================
>
> Remove the "x" from my email address
>
> Jerry Stuckle
>
> JDS Computer Training Corp.
>
> jstucklex(at)attglobal(dot)net
>
> ==================
Hi.
Can you help me, telling me which kind of permission (or its name) I have to look for in a server using debian 6.0?
Thanks in advance
Best regards
Paolo
|
|
|
Re: Problem with readdir and ssh2 [message #180396 is a reply to message #180395] |
Thu, 07 February 2013 16:24 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 2/7/2013 10:31 AM, Paolo Varalta wrote:
> Il giorno giovedì 7 febbraio 2013 15:54:22 UTC+1, Jerry Stuckle ha scritto:
>> On 2/7/2013 9:28 AM, Paolo Varalta wrote:
>>
>>> Il giorno gioved� 7 febbraio 2013 14:58:44 UTC+1, Jerry Stuckle ha scritto:
>>
>>>> On 2/7/2013 5:38 AM, Paolo Varalta wrote:
>>
>>>>
>>
>>>> > Hi I'm Paolo from Italy.
>>
>>>>
>>
>>>> > I have a problem using readdir function (and other similar functions) under a ssh2 connection.
>>
>>>>
>>
>>>> > This is my script:
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>> > <?
>>
>>>>
>>
>>>> > $Server = "XXX.XXX.XXX.XXX";
>>
>>>>
>>
>>>> > $Porta = "XXXX";
>>
>>>>
>>
>>>> > $Login = "YYYYYYYY";
>>
>>>>
>>
>>>> > $Password = "ZZZZZZZZ";
>>
>>>>
>>
>>>> > if (!extension_loaded('ssh2'))
>>
>>>>
>>
>>>> > {exit();
>>
>>>>
>>
>>>> > }
>>
>>>>
>>
>>>> > $connection = ssh2_connect($Server, $Porta);
>>
>>>>
>>
>>>> > if (!$connection)
>>
>>>>
>>
>>>> > {exit();
>>
>>>>
>>
>>>> > }
>>
>>>>
>>
>>>> > if (!ssh2_auth_password($connection, $Login, $Password))
>>
>>>>
>>
>>>> > {exit();
>>
>>>>
>>
>>>> > }
>>
>>>>
>>
>>>> > if (!$sftp = ssh2_sftp($connection))
>>
>>>>
>>
>>>> > {exit();
>>
>>>>
>>
>>>> > }
>>
>>>>
>>
>>>> > if (is_dir("ssh2.sftp://$sftp/uploads/"))
>>
>>>>
>>
>>>> > {echo "1 Ok.\n";
>>
>>>>
>>
>>>> > $Directory = opendir("ssh2.sftp://$sftp/uploads/") or die ("");
>>
>>>>
>>
>>>> > if ($Directory)
>>
>>>>
>>
>>>> > {echo "2 Ok.\n";
>>
>>>>
>>
>>>> > while (false !== ($file = readdir($Directory)))
>>
>>>>
>>
>>>> > {echo "File -> ".$file."\n";
>>
>>>>
>>
>>>> > }
>>
>>>>
>>
>>>> > echo "3 Ok.\n";
>>
>>>>
>>
>>>> > }
>>
>>>>
>>
>>>> > }
>>
>>>>
>>
>>>> > unset($connection);
>>
>>>>
>>
>>>> > ?>
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>> > (Obviously I have mask the important thinks)
>>
>>>>
>>
>>>> > If I try to use it in my VM debian server, I see this echo:
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>> > 1 Ok
>>
>>>>
>>
>>>> > 2 Ok
>>
>>>>
>>
>>>> > File -> TestFile1.csv
>>
>>>>
>>
>>>> > File -> TestFile2.csv
>>
>>>>
>>
>>>> > File -> TestFile3.csv
>>
>>>>
>>
>>>> > 3 Ok
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>> > But if I try to use the same script in my regular server (a debian one, same version of the previous one, some php version, some ssh2 library version), I receive this echo:
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>> > 1 Ok
>>
>>>>
>>
>>>> > 2 Ok
>>
>>>>
>>
>>>> > 3 Ok
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>> > Via tcpdump I see that SFTP server gives me exactly the same infos in both tests.
>>
>>>>
>>
>>>> > And if I try to open a file (knowing its name) with fopen/fgets in the second server, it works.
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>> > So why readdir (and functions similar) fails, while fopen/fgets works?
>>
>>>>
>>
>>>> > I watch php configurations on both server and thay seems identical.
>>
>>>>
>>
>>>> > Where do I have to search?
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>> > Thanks in advance
>>
>>>>
>>
>>>> > Best regards
>>
>>>>
>>
>>>> > Paolo
>>
>>>>
>>
>>>> >
>>
>>>>
>>
>>>>
>>
>>>>
>>
>>>> How is system security set up in the working and failing systems?
>>
>>>>
>>
>>>> Perhaps you don't have permission to list the directory in the failing one?
>>
>>>>
>>
>>>>
>>
>>>>
>>
>>>
>>
>>> Hi Jerry and thank you.
>>
>>>
>>
>>> How/Where can I find the infos of that kind of permissions?
>>
>>>
>>
>>> Thanks in advance
>>
>>> Best regards
>>
>>> Paolo
>>
>>>
>>
>>
>>
>> It all depends on the version of Linux you're using. Try a Linux
>>
>> administration book (or newsgroup) for your version.
>>
>>
>>
>> --
>>
>> ==================
>>
>> Remove the "x" from my email address
>>
>> Jerry Stuckle
>>
>> JDS Computer Training Corp.
>>
>> jstucklex(at)attglobal(dot)net
>>
>> ==================
>
> Hi.
>
> Can you help me, telling me which kind of permission (or its name) I have to look for in a server using debian 6.0?
>
> Thanks in advance
> Best regards
> Paolo
>
As I said - you need to be asking in a newsgroup for Linux, preferably
Debian or Ubuntu. Debian does have an excellent email list for user
assistance.
Ask in the right place and you'll get good answers.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|