?
avatar addondev
addondev
12 Jul 2016

Steps to reproduce the issue

Update Joomla! to version 3.6.

Expected result

OK.

Actual result

Argument 3 passed to JClientFtp::getInstance() must be of the type array, null given, called in /var/www/site/libraries/joomla/filesystem/file.php on line 488

System information (as much as possible)

Ubuntu + Nginx + PHP-7-FPM

Additional comments

I use FTP layer and have strong file permissions.

Votes

# of Users Experiencing Issue
1/1
Average Importance Score
3.00

avatar addondev addondev - open - 12 Jul 2016
avatar addondev addondev - change - 12 Jul 2016
Title
Update issue: "Argument 3 passed to JClientFtp::getInstance() must be of the type array, null given, called in /var/www/addondev/libraries/joomla/filesystem/file.php on line 488"
Update issue: "Argument 3 passed to JClientFtp::getInstance() must be of the type array, null given, called in /var/www/site/libraries/joomla/filesystem/file.php on line 488"
avatar addondev addondev - change - 12 Jul 2016
Title
Update issue: "Argument 3 passed to JClientFtp::getInstance() must be of the type array, null given, called in /var/www/addondev/libraries/joomla/filesystem/file.php on line 488"
Update issue: "Argument 3 passed to JClientFtp::getInstance() must be of the type array, null given, called in /var/www/site/libraries/joomla/filesystem/file.php on line 488"
avatar addondev addondev - change - 12 Jul 2016
The description was changed
avatar brianteeman brianteeman - change - 12 Jul 2016
Labels Added: ?
avatar brianteeman
brianteeman - comment - 12 Jul 2016

Have you ever updated this site before? That specific file has not been updated for a while

avatar addondev
addondev - comment - 12 Jul 2016

Yes I have. I used 3.5.1 version. When i switch off the FTP layer, it updates correctly, but when the FTP layer is on, I have got this error.

avatar richard67
richard67 - comment - 12 Jul 2016

I can confirm that, had to switch off FTP layer, too, to avoid the error.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/11082.

avatar brianteeman brianteeman - change - 12 Jul 2016
Status New Confirmed
avatar brianteeman brianteeman - change - 12 Jul 2016
Category Installation Libraries
avatar mbabker mbabker - reference | b47f466 - 12 Jul 16
avatar brianteeman brianteeman - close - 12 Jul 2016
avatar mbabker
mbabker - comment - 12 Jul 2016

See #11086

avatar mbabker mbabker - change - 12 Jul 2016
Status Confirmed Closed
Closed_Date 0000-00-00 00:00:00 2016-07-12 23:13:58
Closed_By mbabker
avatar mbabker mbabker - close - 12 Jul 2016
avatar brianteeman brianteeman - change - 13 Jul 2016
Labels Added: ?
avatar jppjpp
jppjpp - comment - 18 Aug 2016

I have the same issue whatever the method I use (direct, hybrid or ftp)

avatar ggppdk
ggppdk - comment - 18 Aug 2016

@jppjpp

I have the same issue whatever the method I use (direct, hybrid or ftp)

yes, that codes global config FTP-enable setting and not the setting for Joomla upgrade method

The fix exists in J3.6.1+, older Joomla versions do not get the fix automatically, but this prevents you from running Joomla upgrade (also setting error_reporting to 'none' has not effect on this one)

Simplest way out of this is (if you can edit the file)

  • is to edit the file and apply the patch manually and then upgrading Joomla should work
  • also other option is to run your site without FTP, but since you have enabled in global configuration, it means that you need it, so better edit the file

At about line 488 of libraries/joomla/filesystem/file.php (backup the file 1st)
find:

$ftp = JFTP::getInstance($FTPOptions['host'], $FTPOptions['port'], null, $FTPOptions['user'], $FTPOptions['pass']);

replace with: (if you get syntax error then restore the file and retry)

$ftp = JClientFtp::getInstance($FTPOptions['host'], $FTPOptions['port'], array(), $FTPOptions['user'], $FTPOptions['pass']);

Add a Comment

Login with GitHub to post a comment