Operating System used
Windows 7 - V 6.1
Apache installed
httpd-2.2.22-win32-x86-no_ssl.msi
My httpd.conf
AddType application/x-httpd-php .php
LoadModule php5_module "X:/Program Files/PHP/php5apache2_2.dll"
Version of php installed
php-5.3.16-Win32-VC9-x86.msi
I copied the php_ssh2.dll from php_ssh2-0.11.2-5.3-nts-vc9-x86.zip uncompressed
php_ssh2-0.11.2-5.3-nts-vc9-x86.zip
to
X:\Program Files\PHP\ext\php_ssh2.dll
My php.ini
extension_dir="X:\Program Files\PHP\ext"
PHPIniDir "X:/Program Files/PHP"
[PHP_SSH2]
extension=php_ssh2.dll
Apache has been restarted after configuring php.ini with php_ssh2.dll and after copying the file php_ssh2.dll to extension_dir - error persists
Fatal error: Call to undefined function ssh2_connect() in X:\Program Files\Apache Software Foundation\Apache2.2\htdocs\index.php on line 4
code used to test
<?php
$connection = ssh2_connect("XXX.XXX.XXX.XXX", 22);
if(ssh2_auth_password($connection, "XXXXXX", "XXXXXX"))
printf("CONNECTED");
else
printf("ERROR");
?>
A test with phpinfo() displays the page perfectly in the browser because php was configured with the httpd.conf but the parameter extension_dir appears as
extension_dir C:\php C:\php
but this parameter was set to "X:\Program Files\PHP\ext"
Enable the corresponding .DLL file to the php.ini (or separate extensions conf if applicable) that is used by PHP:
extension=ssh2.dll
(remove an ; if it happens to be in front of this line)
We can check if the SSH2 extension for PHP has been enabled by using the windows command line(This might need an apache restart):
php -m
This will list out all the php extensions installed and you should see ssh2 in it.
You should now be able to use ssh2_connect()