mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
- Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist.)
This commit is contained in:
parent
add029adef
commit
0ea435c6e0
1
NEWS
1
NEWS
@ -19,6 +19,7 @@ PHP NEWS
|
||||
streams). (vnegrier at optilian dot com, Ilia)
|
||||
- Fixed bug #50761 (system.multiCall crashes in xmlrpc extension). (hiroaki
|
||||
dot kawai at gmail dot com, Ilia)
|
||||
- Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist). (Sriram)
|
||||
- Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia)
|
||||
- Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0). (Joey,
|
||||
Ilia)
|
||||
|
@ -789,6 +789,7 @@ PHP_MINIT_FUNCTION(curl)
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x070f01
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_FTP_FILEMETHOD);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_FTP_SKIP_PASV_IP);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x071001
|
||||
@ -1657,6 +1658,7 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue, zval *retu
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x070f01
|
||||
case CURLOPT_FTP_FILEMETHOD:
|
||||
case CURLOPT_FTP_SKIP_PASV_IP:
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM > 0x071301
|
||||
case CURLOPT_CERTINFO:
|
||||
|
59
ext/curl/tests/curl_ftp_pasv.phpt
Normal file
59
ext/curl/tests/curl_ftp_pasv.phpt
Normal file
@ -0,0 +1,59 @@
|
||||
--TEST--
|
||||
Test curl_exec() function with basic functionality
|
||||
--CREDITS--
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
|
||||
if (false === getenv('PHP_CURL_FTP_REMOTE_SERVER')) exit("skip PHP_CURL_FTP_REMOTE_SERVER env variable is not defined");
|
||||
if (false === getenv('PHP_CURL_FTP_REMOTE_USER')) exit("skip PHP_CURL_FTP_REMOTE_USER env variable is not defined");
|
||||
if (false === getenv('PHP_CURL_FTP_REMOTE_PASSWD')) exit("skip PHP_CURL_FTP_REMOTE_PASSWD env variable is not defined");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$host = getenv('PHP_CURL_FTP_REMOTE_SERVER');
|
||||
$username = getenv('PHP_CURL_FTP_REMOTE_USER');
|
||||
$password = getenv('PHP_CURL_FTP_REMOTE_PASSWD');
|
||||
|
||||
// FTP this script to a server
|
||||
$fp = fopen ( __FILE__ , "r" );
|
||||
$url = "ftp://$username:$password@$host/test.phpt" ;
|
||||
|
||||
$ch = curl_init ();
|
||||
|
||||
// enable below to get the output in verbose mode.
|
||||
// curl_setopt ( $ch , CURLOPT_VERBOSE, 1 );
|
||||
|
||||
/* Without enabling SKIP_PASV_IP flag, the following output will be seen..
|
||||
< 227 Entering Passive Mode (10,5,80,146,100,199)
|
||||
* Trying 10.5.80.146... * connected
|
||||
* Connecting to 10.5.80.146 (10.5.80.146) port 25799
|
||||
*/
|
||||
|
||||
/* After enabling SKIP_PASV_IP flag, the following output will be seen..
|
||||
< 227 Entering Passive Mode (10,5,80,146,50,229)
|
||||
* Skips 10.5.80.146 for data connection, uses 10.5.80.146 instead
|
||||
* Trying 10.5.80.146... * connected
|
||||
*/
|
||||
|
||||
curl_setopt ( $ch , CURLOPT_URL, $url );
|
||||
curl_setopt ( $ch , CURLOPT_TRANSFERTEXT, 1 );
|
||||
|
||||
//force passive connection
|
||||
curl_setopt ( $ch , CURLOPT_FTP_USE_EPSV, 0 );
|
||||
curl_setopt ( $ch , CURLOPT_FTP_SKIP_PASV_IP, 1 );
|
||||
|
||||
// mark the file for upload..
|
||||
curl_setopt ( $ch , CURLOPT_INFILE, $fp );
|
||||
curl_setopt ( $ch , CURLOPT_INFILESIZE, filesize(__FILE__) );
|
||||
curl_setopt ( $ch , CURLOPT_PUT, 1 );
|
||||
curl_setopt ( $ch , CURLOPT_UPLOAD, 1 );
|
||||
|
||||
$result = curl_exec ( $ch );
|
||||
var_dump ( $result );
|
||||
curl_close ( $ch );
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
bool(true)
|
||||
===DONE===
|
Loading…
Reference in New Issue
Block a user