FreeBSD's PHP port incomplete; missing ftp_ssl_connect function

Mark Felder feld at feld.me
Wed May 8 12:23:27 UTC 2013


I'm hoping someone out there can help come up with a solution or a clever  
patch because right now the only alternative I see is an extremely painful  
patch to the ports tree that I'd never be able to successfully maintain at  
my place of employment.

The problem is that the way FreeBSD handles PHP -- complete modularization  
-- breaks the FTP module. The FTP module cannot be built with support for  
FTPS unless it is built statically into PHP along with OpenSSL. You can  
test this yourself by running the following command:

php -r 'if(function_exists('ftp_ssl_connect')) {echo "ftp_ssl_connect  
exists\n";} else {echo "ftp_ssl_connect does not exist\n";}'


As documented here: http://php.net/manual/en/function.ftp-ssl-connect.php

> Note: Why this function may not exist
>ftp_ssl_connect() is only available if both the ftp module and the  
> OpenSSL
> support is built statically into php, this means that on Windows this 
> function will be undefined in the official PHP builds. To make this  
> functionavailable on Windows you must compile your own PHP binaries.

If you look at Debian and Redhat Linux distros there is no php5-ftp or  
php5-openssl package. It's statically built into the base php5 package.  
Even Gentoo appears to be doing it right because the ebuild just lets you  
choose what options you want and it compiles the entire thing statically.

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/php/php-5.3.23.ebuild?view=markup

I've already submitted a PR, but I'd like some further input from the  
community. I'm really in a sticky situation here because we were forced to  
require FTPS everywhere and now things like Wordpress' self-upgrading  
capability is broken. If we could flip everyone to SFTP I'd gladly do it,  
but there are too many obstacles in the way for that to become a reality.


In short, is anyone out there interested in trying to figure out how to  
get the FTP module to build with the SSL capability?



(Vinnie here has the same reaction I do:  
https://bugs.php.net/bug.php?id=38951)


More information about the freebsd-ports mailing list