failed to open stream error message while trying to include phpseclib

谁说胖子不能爱 提交于 2019-12-02 04:59:07

问题


I'm trying to follow the instructions for installing phpseclib.

I unpackaged everything and created a new phpseclib folder into /usr/share/pear. So I have the following stucture:

/usr/share/pear/phpseclib/
                          Net
                          Crypt
                          File
                          Math

I determined the /usr/share/pear path by checking the get_include_path method.

And now i'm trying to create a page that uses the phpsec library.

Here's the php page I'm playing with:

<?php

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('Net/SSH2.php');

The page bombs with an error message that says;

warning: include(Net/SSH2.php): failed to open stream: No such file or directory in /var/www/test/sshtest.php on line 4. Warning include(): failed opening 'Net/SSH2.php' for inclusion (include_path='.:/usr/share/pear:phpseclib') in /var/www/test/sshtest.php on line 4.

/var/www/test the webfolder where my page is. Any suggestions or pointers would be appreciated.


回答1:


I changed the code to read:

<?php 

set_include_path(get_include_path() . get_include_path().'/phpseclib');
include('Net/SSH2.php');
echo('if you are reading this, phpseclib has been included');

and that fixed the problem.




回答2:


Did not you forget to place a slash / after setting the path?

So, should be like:

 <?php
          set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib/');
          include('Net/SSH2.php');
      ?> 

or

<?php
              set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib' . PATH_SEPARATOR);
              include('Net/SSH2.php');
          ?> 


来源:https://stackoverflow.com/questions/11619528/failed-to-open-stream-error-message-while-trying-to-include-phpseclib

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!