Installieren Sie die PECL-Erweiterung auf einem Remote-Server

381
gouyez

Ich versuche, eine pecl-Erweiterung auf einem Remote-Server (Server2) zu installieren, indem Sie die Funktion ssh2_exec () aus einer PHP-Datei auf einem anderen Server (Server1) verwenden.

Die PHP-Datei in Server1:

<?php $main_ip = 'xxx.xxx.xxx.xxx'; // ip of the server2 $user = 'root'; $password = 'password'; // root password ot the server2 $connection = ssh2_connect($main_ip, 22); if($connection) { if(ssh2_auth_password($connection, $user, $password)) { $stream = ssh2_exec($connection, 'printf "\n" | pecl install -f ssh2'); $stream = ssh2_exec($connection, 'printf "\n" | pecl install geoip'); } } ?> 

Ich habe "Echo" anstelle von "Printf" versucht.

Ich habe versucht, ein Shellskript auszuführen, das sich auf dem Remote-Server (Server2) befindet, und zwar aus derselben PHP-Datei in Server1.

Das Shellskript (install.sh):

#!/bin/bash printf "\n" | pecl install -f ssh2 

Verwenden Sie dies: $ stream = ssh2_exec ($ connection, '/file_path/install.sh');

Nichts hat geklappt.

Vielen Dank.

0

0 Antworten auf die Frage