Насколько я знаю, для работы 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
Просто прочитайте журнал ошибок с вашего хостинга. – sectus
Можете ли вы опубликовать полное сообщение об ошибке вместо того, чтобы говорить об ошибке 500? Это больше всего, скорее всего, это «fsockopen». например. Сам PHP, вероятно, не может подключиться. Возможно, из-за проблемы с брандмауэром (iptables) или что-то в этом роде. – neubert
спасибо за заботу, просто добавили две записи журнала ошибок – addorange