㈠ php能實現公司內網共享伺服器上指定文件夾的文件搜索和列印嘛
可以通過它的ssh2擴展,與你需要操作的伺服器建立連接,然後執行你需要執行的linux語句,可以以root身份登錄..
如果只是想傳輸文件的話, 安裝完擴展之後,可以使用 ssh2_scp_send 來發送本地指定的文件到遠程伺服器上,或者 ssh2_scp_recv 下載遠程伺服器上的文件到本地..
㈡ windows10 下 php怎麼裝ssh2
Warning: ssh2_connect(): Unable to connect to .. 此類提示是在新版本中代碼規范新增了 」@「符號,調用方法是需開頭加"@"
以下為樣例:
<?php
$conn = @ssh2_connect ( '192.168.1.1', 22 );
@ssh2_auth_password ( $conn, "user", "passwd" );
$stream = @ssh2_exec($conn, 'ls -l /tmp');
@stream_set_blocking($stream,true);
echo utf8_decode (@stream_get_contents($stream,-1,-1));
@fclose($stream);
?>
window 安裝
php ssh2擴展安裝
php
ssh2
方法/步驟
1. 下載 php extension ssh2根據自己PHP的版本去下載
2. 解壓完後,會有三個文件,libssh2.dll、php_ssh.dll、php_ssh2.pdb。
3. 將 php_ssh.dll、php_ssh2.pdb 放到你的 php 擴展目錄下 php/ext/ 下。
4. 將libssh2.dll 復制到 c:/windows/system32 和 c:/windows/syswow64 各一份
5. php.ini中加入 extension=php_ssh2.dll
6. 重啟apache,即可使用php執行ssh連接操作了。
測試代碼
㈢ CentOS 7 用戶怎樣安裝 LNMP
安裝之前可以更新下ubuntu軟體源,要確保Linux處於聯網狀態
sudo vi /etc/apt/sources.list 輸入提供軟體的地址(裡面有默認的地址可以用,不可以的話網上到處都是這里就不貼出來了)保存退出
sudo apt-get update
可能會出現更新不了,這是看一下/etc/apt/apt.conf (這個貌似是設置HTTP代理的文件)。如果沒有設置代理,將裡面的東西刪除即可
開始安裝
1、安裝nginx,並啟動
sudo apt-get install nginx
sudo /etc/init.d/nginx start(或者 service nginx start)
2、安裝PHP和MySQL
sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql
更改資料庫用戶的許可權grant all on *.* to root@'%' identified by '123456';
刷新讓許可權生效flush privileges;
修改mysql的配置文件 sudo vi /etc/mysql/my.cnf
將bind-address = 127.0.0.1 注釋掉,就可以遠程連接資料庫了
3、安裝php5-fpm
sudo apt-get install php5-fpm
4、配置nginx並重啟服務
sudo vi /etc/nginx/sites-enabled,修改如下
server{
listen 80;
root /var/www;
index index.php index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ /index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
保存退出
5、啟動fastcgi php
sudo service php5-fpm start
6、重啟nginx服務
sudo service nginx restart
7、安裝PHP相關擴展
如 xdebug 、memcache、 oauth等
1)安裝curl:sudo apt-get install php5-curl
2)安裝gettext:sudo apt-get install php-gettext
3)安裝gd庫:sudo apt-get install php5-gd
4)安裝mcrypt:sudo apt-get install php5-mcrypt
5)安裝memcache
a)安裝伺服器 :
sudo apt-get install memcached
$ memcached -d -m 50 -p 11211 -u root
參數說明 -m 指定使用多少兆的緩存空間;-p 指定要監聽的埠; -u 指定以哪個用戶來運行
b)安裝php 模塊:
sudo apt-get install php5-memcache
6)安裝oauth:基於pecl的
a)sudo apt-get install php5-dev php-pear libpcre3-dev
sudo pecl install oauth (要確保有Linux系統里可以make)
b)修改配置文件
sudo vi /etc/php5/fpm/php.ini
在最後添加extension=oauth.so
7)安裝ssh2:sudo apt-get install libssh2-php
8)安裝xdebug:
sudo apt-get install php5-xdebug
修改php的配置文件 sudo vi /etc/php5/fpm/php.ini
將display_errors和html_errors都改為On
9)安裝完上述擴展後重啟PHP服務 :sudo service php5-fpm restart
至此整個環境就搭好了。
㈣ php 如何通過連接sftp並下載sftp伺服器指定目錄下的所有文件到本地
一、下載並安裝FTP客戶端,例如我現在用的Xftp6。
xftp6中文版是一款高效實用的MS windows 平台專用SFTP、FTP 文件傳輸工具。xftp6中文版功能強勁,便捷好用,支持MS windows 用戶安全地在 UNIX/Linux 和 Windows PC 之間進行文件傳輸。
寫在最後:
SFTP是SSH File Transfer Protocol的縮寫,安全文件傳送協議。SFTP與FTP有著幾乎一樣的語法和功能。SFTP為SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實在SSH軟體包中,已經包含了一個叫作SFTP的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(埠號默認是22)來完成相應的連接和答復操作,所以從某種意義上來說,SFTP並不像一個伺服器程序,而更像是一個客戶端程序。
㈤ php支持ssh2擴展問題!
Fatal error: Call to undefined function ssh2_connect() in D:\website\q.php on line 2
㈥ 檢查使用PHP SSH2遠程目錄問題,怎麼解決
為PHP安裝SSH2擴展需要兩個軟體包,libssh2和ssh2。兩者的最新版本分別為1.4.2和0.12,下載地址分別為http://www.libssh2.org/download/和http://pecl.php.net/package/ssh2。這里我們可以均下載最新版本,libssh2的源碼包為libssh2-1.4.2.tar.gz,ssh2的源碼包為ssh2-0.12.tgz。
其次,解壓並安裝libssh2和ssh2。其中,libssh2需要先安裝,ssh2後安裝。安裝步驟如下:
# tar -zxvf libssh2-1.4.2.tar.gz
# cd libssh2-1.4.2
# ./configure --prefix=/usr/local/libssh2
# make && make install
以上為安裝libssh2,這里需要記住libssh2的安裝目錄,因為在安裝ssh2的時候還會用到。
# tar -zxvf ssh2-0.12.tgz
# cd ssh2-0.12
# phpize
# ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2
# make
執行完以上過程後,在當前目錄下的moles目錄下會生成一個ssh2.so文件,這就是擴展PHP所需要的,將該文件拷貝到PHP庫的存儲目錄下在修改PHP的配置文件即可。
# cp moles/ssh2.so /usr/lib64/php/moles/
註:PHP庫的存儲目錄可能因系統而異,本博主的機器上是/usr/lib64/php/moles/
# vi /etc/php.ini
# 向該文件中添加內容:extension=ssh2.so
此時為PHP擴展SSH2就已經完成了,為了驗證是否安裝成功,我們可以通過執行一下命令來驗證。
# php -i|grep ssh2
Registered PHP Streams => php, file, http, ftp, compress.bzip2, compress.zlib, https, ftps, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp
ssh2
libssh2 version => 1.4.2
banner => SSH-2.0-libssh2_1.4.2
最後,我們再通過一個簡單的PHP程序來試用SSH2,該程序首先連接遠程伺服器,然後執行相關操作,最後讀取操作執行的返回結果,具體例子代碼如下。
<?php
$user="user";
$pass="password";
$connection=ssh2_connect('202.112.113.250',22);
ssh2_auth_password($connection,$user,$pass);
$cmd="ps aux";
$ret=ssh2_exec($connection,$cmd);
stream_set_blocking($ret, true);
echo (stream_get_contents($ret));
?>
㈦ 問一下,安裝php擴展,php-shell的具體是怎麼實現php連接遠程主機並操作了謝謝
一樓真是天真,直接復制粘貼我的原提問答案,都說了,那不是我使用的方法。
我親自來回答你吧~
過程略有些繁瑣,涉及安裝到許多東西。但裝好了可以自由使用遠程連接。
安裝部分:
檢查:
1 vi /etc/ssh/sshd_config
PasswordAuthentication yes //保證這行內容是yes
2 關閉selinux
安裝
1 yum -y install php-devel
2編譯安裝libssh2-1.2.8.tar.gz.gz ,教程網上找,直接解壓編譯即可
3yum -y install php-pear
4 pecl install -f ssh2
5 vi /etc/php.ini
添加一行:extension=ssh2.so
6重啟apache
安裝的詳細部分,可以網上度娘或谷姐
實現部分,其實是,安裝了這個擴展就可以使用Php遠程連接的自有函數了,舉個例子你就明白
logtest.php:
<?php
$connection = ssh2_connect("192.168.1.77",22);
if (ssh2_auth_password($connection,"root","000000")) {
echo "Authentication Successful!\n";
} else {
die('Authentication Failed...');
}
?>
ssh2_connect函數寫入目的主機的ip和埠,ssh2_auth_password輸入主機用戶名和密碼
下面是使用舉例:
<?php
if($ssh = ssh2_connect('192.168.1.77', 22)) {
if(ssh2_auth_password($ssh, 'root', '000000')) {
$stream = ssh2_exec($ssh, 'df -h | cut -c 40-42');
stream_set_blocking($stream, true);
$data = '';
while($buffer = fread($stream, 4096)) {
$data .= $buffer;
}
fclose($stream);
echo $data; // 返回的信息
}
}
?>
以上函數,向目的主機發送shell命令:df -h | cut -c 40-42
返回了需要的信息。
希望能幫到你