微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

安装SSH2 for PHP以在OSX 10.9.1上的Xampp Apache服务器上运行

我在OS X 10.9.1的Mac上运行Xampp,我试图开发一个通过Ajax调用调用PHP脚本的网页。 Xampp在这里用于开发目的,而不是为了形成在线页面的后端。

一个PHP脚本需要通过SSH连接到远程机器,我的理由

打算使用ssh2库。 当我尝试运行这些命令时:

$ connection = ssh2_connect('my.remote.machine.address',5432);

我得到以下错误

在Firefox和Android上不受信任的StartSSL证书

覆盖服务器上的.htaccess文件

Apache交叉编译错误./gen_test_char:无法执行二进制文件

你如何设置Python脚本在Apache 2.0中工作?

使用htaccess拒绝ajax文件访问

致命错误调用第8行的/Applications/XAMPP/xamppfiles/htdocs/Project/getdata.PHP中未定义的函数ssh2_connect()

通过调用PHPinfo()”,ssh2似乎没有被安装。 我成功地在Windows,Ubuntu和Scientific Linux上成功地使用了ssh2_connect,经过一个星期,我似乎无法弄清楚我在OSX上没有做什么,我怀疑可能是path损坏或与Apache交互服务器OSX附带。 这是我所尝试的:

I. MacPorts和PECL方法(参考: http : //lassebunk.dk/2011/05/26/installing-ssh2-for-PHP-on-mac-os-x/ ):

已经在我的电脑上的东西:xcode(来自iStore),MacPorts(来自他们站点的安装程序),PHP 5.4.17,显然是OSX附带的Apache服务器,我不得不停下来:

sudo apachectl停止

让Xampp一个人工作。

运行命令:

sudo port安装libssh2

因为libssh2和openssl库是在PHP中使用ssh2_connect的先决条件(参考: http ://www.PHP.net/manual/en/ssh2.requirements.PHP); 根据PHPinfo(),openssl似乎已经安装在Xampp上。

安装梨子:

sudo PHP /usr/lib/PHP/install-pear-nozlib.phar

安装Homebrew(否则“pecl安装”命令失败):

ruby -e“$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install )”

跑:

brew安装autoconf

现在我终于能够运行:

$ sudo pecl install ssh2-0.12

以“/ opt / local”作为前缀

现在我得到了一个很好的ssh2.so文件,我将其添加到相关的PHP.ini中:

/应用/ XAMPP / xamppfiles的/ etc

通过添加行:

延长= /select/本地/ LIB / PHP54 /扩展/无debugging非ZTS-20100525 / ssh2.so

从Xampp附带的GUI重新启动Xampp Apache Web服务器,仍然没有findssh2。

II。 从terminal方法编译ssh2.so(参考:zizifu的评论http://www.PHP.net/manual/en/ssh2.installation.PHP ):

从http://libssh2.org/获得libssh2存档并且:

。/configuration

使

进行安装

从http://pecl.PHP.net/package/ssh2获得最新的ssh2档案

PHPize

./configure –with-ssh2

使

进行安装

再次得到一个ssh2.so文件,将其添加到相关的PHP.ini,重新启动服务器,它仍然无法正常工作。

对不起,如果这有太多的细节,希望我给的信息可以指出我做错了什么; 我真的很感激任何解决scheme/提示/事情,试图解决这个问题。

Symfony2functiontesting客户端强制服务器参数SERVER_NAME

PKIXpath构build失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到要求的目标的有效证书path

使用apache poi在excel中检测隐藏的单元格

Apache .htaccess将子域redirect到父域

htaccess 301redirectURL的参数

你有没有考虑PHPseclib,一个纯粹的PHP SSH2实现 ? 它比libssh2有许多优点 ,包括改进的可移植性和速度。 例:

<?PHP include('Net/SSH2.PHP'); $ssh = new Net_SSH2('www.domain.tld'); if (!$ssh->login('username','password')) { exit('Login Failed'); } echo $ssh->exec('pwd'); echo $ssh->exec('ls -la'); ?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐