2014-10-01 2 views
-1

Насколько я знаю, для работы phpeclib нет конкретных требований. Поэтому я решил попробовать его на общем хостинге для подключения через SFTP.Ошибка отслеживания 500 на phpseclib

Следующий код работает в моей локальной среде Dev и передан файл к цели, на продуктивный общей учетной записи хостинга это не удалось с ошибкой 500.

<?php 

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); 

include('phpseclib/Net/SFTP.php'); 
define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX); 

$sftp = new Net_SFTP('url', port); 
if (!$sftp->login('username', 'password')) { 
    exit('Login Failed'); 
} else { 
    echo "working"; 
} 

echo $sftp->pwd(); 

// puts a three-byte file named filename.remote on the SFTP server 
$sftp->put('filename.remote', 'xxx'); 
// puts an x-byte file named filename.remote on the SFTP server, 
// where x is the size of filename.local 
$sftp->put('filename.remote', 'example.txt', NET_SFTP_LOCAL_FILE); 

echo $sftp->getSFTPLog(); 


?> 

как охотиться эту ошибку вниз и отслеживать его появление ?

Для получения более подробной информации (под редакцией окт, 02):

php_error.log

[02-Oct-2014 09:26:23 UTC] PHP Notice: fputs(): send of 36 bytes failed with errno=32 Broken pipe in /var/www/virtual/addorange.de/htdocs/phpseclib/phpseclib/Net/SSH2.php on line 3175 
[02-Oct-2014 09:26:23 UTC] PHP Notice: Connection closed prematurely in /var/www/virtual/addorange.de/htdocs/phpseclib/phpseclib/Net/SSH2.php on line 3143 

и apache_error.log

[Thu Oct 02 09:26:04 2014] [warn] mod_fcgid: read data timeout in 40 seconds 
[Thu Oct 02 09:26:04 2014] [error] [client 79.232.85.137] Premature end of script headers: upload.php 
[Thu Oct 02 09:26:10 2014] [notice] mod_fcgid: process 9470 going graceful shutdown, sending SIGTERM 
[Thu Oct 02 09:26:35 2014] [warn] mod_fcgid: read data timeout in 40 seconds 
[Thu Oct 02 09:26:35 2014] [error] [client 79.232.85.137] Premature end of script headers: upload.php 
[Thu Oct 02 09:26:40 2014] [notice] mod_fcgid: process 9473 going graceful shutdown, sending SIGTERM 
+2

Просто прочитайте журнал ошибок с вашего хостинга. – sectus

+0

Можете ли вы опубликовать полное сообщение об ошибке вместо того, чтобы говорить об ошибке 500? Это больше всего, скорее всего, это «fsockopen». например. Сам PHP, вероятно, не может подключиться. Возможно, из-за проблемы с брандмауэром (iptables) или что-то в этом роде. – neubert

+0

спасибо за заботу, просто добавили две записи журнала ошибок – addorange

ответ

-1

Фигурные это сейчас. Использовал phpseclib 0.3.8 и получил ошибки, вернулся к phpseclib 0.35 после прочтения этого вопроса https://github.com/phpseclib/phpseclib/issues/134 и получил его работу. Чтобы проверить с помощью phpseclib-dev, что могло бы вызвать это в более новой версии.

Еще раз спасибо за заботу. На данный момент закрытие проблемы.

+0

Теперь как насчет того, чтобы вы отправили отчет об ошибке на https://github.com/phpseclib/phpseclib/issues. Насколько большой файл, который вы пытаетесь загрузить? Какой сервер вы загружаете? Вы можете понять это, выполнив 'echo $ ssh-> getServerIdentification()' – neubert

Смежные вопросы