synology php ftp_ssl_connect – Llamada a la funci贸n indefinida

Es la primera vez que hace una pregunta aqu铆, por favor sea amable 馃檪

Estoy escribiendo un script de l铆nea de comandos de PHP en un cuadro de Synology para buscar archivos a trav茅s de ftps, y empiezo con este bit:

$ftp = ftp_ssl_connect("ftp.example.com"); 

Cuando corro desde la l铆nea de comando, obtengo

 Fatal error: Call to undefined function ftp_ssl_connect() in ... 

phpinfo () me dice:

 ... Registered PHP Streams => php, file, glob, data, http, ftp, https, ftps, zip, compress.zlib, compress.bzip2 Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, sslv3, sslv2, tls ... openssl OpenSSL support => enabled OpenSSL Library Version => OpenSSL 1.0.1p-fips 9 Jul 2015 OpenSSL Header Version => OpenSSL 1.0.1p-fips 9 Jul 2015 

y /etc/php/conf.d/extensions.ini contiene extension = openssl.so (sin una inicial ; )

Me parece que todos los requisitos previos para ftp_ssl_connect() est谩n en su lugar.

fwiw:

 $ uname -a Linux DiskStation01 2.6.32.12 #5644 Wed Oct 28 12:36:45 CST 2015 armv5tel GNU/Linux synology_88f6282_213 

驴Cu谩l ser铆a el siguiente lugar para mirar?

    Escriba php -m para ver el comstackdo en m贸dulos, ya que PHP no env铆a la extensi贸n FTP de manera predeterminada si no est谩 en Windows . Llamar a phpinfo() tambi茅n deber铆a mostrar los conmutadores del comstackdor utilizados, y si incluyen --enable-ftp .

    Lo curioso es que acabo de probar esto en un RS812 m铆o, y muestra los moodules de FTP y OpenSSL incluidos, y funciona bien:

     nas-name> php -r "ftp_ssl_connect('test');" PHP Warning: ftp_ssl_connect(): php_network_getaddresses: gethostbyname failed in Command line code on line 1 

    Esto indica que ftp_ssl_connect est谩 funcionando pero no puede analizar el nombre de host proporcionado. No tengo idea de por qu茅 los tuyos ser铆an diferentes a menos que hayas comstackdo PHP t煤 mismo.

    Como se menciona en la soluci贸n de Niels , el m贸dulo ftp falta en la instalaci贸n predeterminada. Necesitaba el m贸dulo en la versi贸n CLI de PHP, pero no estaba disponible en ninguno de mis cuatro dispositivos Synology (DS 412+, DS 410, RS812 + y RS814 +).

    La habilitaci贸n del m贸dulo en la configuraci贸n de la estaci贸n web no ayud贸, pero hay una soluci贸n para la versi贸n CLI en una entrada del foro de Synology :

    1. aseg煤rese de que la extensi贸n ftp est茅 seleccionada dentro de la configuraci贸n de php de Web Station.

    2. luego edite /etc/php/php.ini para incluir una l铆nea como esta: – extension = /volume1/@appstore/PHP5.6/usr/local/lib/php56/modules/ftp.so

    3. Eso es. No se requiere reiniciar Web Station o NAS, ya que php se carga desde la l铆nea de comandos cada vez que se realiza una llamada a php.