I [had an error for which] ftp_pasv didnt solve the problem. Here's why:
FTP uses 2 connections on different ports, one for connection/handshake and another for data transfer.
The problem was that the ftp-server (that php was connecting to) also used different IP-addresses for the different connections (say what!?).
Normally the firewall (csf) detects ftp-connections and allows them through but because of the different IP-adresses this didn't work.
Solution:
1 angry mail to the ftp server owner.
Allowing the second IP in the firewall.