本文目录一览:
- 1、如何通过php连接远程主机并操作
- 2、问一下,安装php扩展,php-shell的具体是怎么实现php连接远程主机并操作了?谢谢
- 3、php提权能控制整个主机吗,如同从本机登陆远程3389主机
- 4、如何远程使用PHP云主机的MYSQL
- 5、php本地 怎么连接远程数据库服务器
如何通过php连接远程主机并操作
一、最佳方案是在77机器上安装apache和php
二、可以通过管道控制使用telnet登录77号机执行命令并获取结果,ssh连接本人没有做过,telnet方法如下:
$f=fopen("telnet://192.168.0.77","rw");
$s=fgets($fp);
fputs($fp,"root");
$s=fgets($fp);
fputs($fp,"pass");
$s=fgets($fp);
fputs($fp,"df -h");
while(!feof($fp)){
$fp=fgets($fp);
echo $s;
}
fclose($fp);
手机输入真累~~~
问一下,安装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
返回了需要的信息。
希望能帮到你
php提权能控制整个主机吗,如同从本机登陆远程3389主机
2/4分步阅读
远程连接服务器之前首先需要把基本的准备工作做好,比如首先在服务器创建一个新的网站,并把相应的网站内容上传好。
我这里以wdcp linux服务器为例子,如下图所示创建一个新的网站

2/3
通过flashfxp等软件将网站上传至服务器

3/3
进入phpmyadmin,导入sql文件

连接远程数据库
1/4
选择该数据库,然后点击权限,可以看到如下图所示,然后点击下方添加新用户

2/4
然后输入新用户信息:
1、输入用户名
2、主机:选择任意主机,然后输入 %
(开启mysql本身的远程连接,简单说,就是在创建mysql用户时的主机名,使用IP,域名,或%号就可以,"%"代表所有,也就是任何人和机器都可以连接,只要有用户密码,也可以针对IP,域名来做限制)
3、生成密码
4、全局权限:全选
5、最后执行

3/4
通过以上步骤就生成了一个可以远程访问的数据库,然后通过更改网站配置文件,php文件配置路径如下图,选择database.php,然后打开文件
如何远程使用PHP云主机的MYSQL
你好,远程云主机上的MySQL有几种方式
1、原生
mysqli_connect(host,username,password,dbname,port,socket);
2、框架
如ThinkPHP框架,在database.php中可以直接配置远程链接参数
// 服务器地址
'hostname' = '你的IP',
// 数据库名
'database' = '',
// 用户名
'username' = '',
// 密码
'password' = '',
// 端口
'hostport' = '',
// 连接dsn
其他的框架,您可以看下框架的手册,按照手册一步步来配置
希望对你有帮助!
php本地 怎么连接远程数据库服务器
在php中如果要连接远程数据库连接方法很简单,只要把本地连接localhost或127.0.0.1改成指定远程服务器一IP地址或者直接域名即可。
语法
mysql_connect(servername,username,password);
例子
在下面的例子中,我们在一个变量中 ($con) 存放了在脚本中供稍后使用的连接。如果连接失败,将执行 "die" 部分:
代码如下:
?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// some code
?