我在OS X 10.9.1的Mac上运行Xampp,我试图开发一个通过Ajax调用来调用PHP脚本的网页。 Xampp在这里用于开发目的,而不是为了形成在线页面的后端。
打算使用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] 举报,一经查实,本站将立刻删除。