当前位置:首页 » 编程语言 » php执行命令行

php执行命令行

发布时间: 2023-03-26 19:11:39

1. php eval怎样执行系统命令

eval — 把字符串作为PHP代码执行

说明

mixedeval( string $code_str )

把字符串code_str作为PHP代码执行。 除了其他,该函数能够执行储存于数据库文本字段内的PHP代码。

使用eval()时需注意几个因素:注意字符必须是有效的PHP代码,包括结尾的分号,以不至于解释器在eval()之后退出。并且正确地转义code_str中的东西。你可以使用一个PHP闭合标签来混合输出HTML和PHP代码。

同时需注意eval中的变量会被保留在之后的主脚本中。

参数

code_str需要被执行的字符串code_str不能包含 PHP Opening tags。

return语句会立即中止当前字符串的执行。

返回值

eval()返回NULL,除非在执行的代码中return了一个值,函数返回该值。 如果在执行的代码中有一个解析错误,eval()返回FALSE,之后的代码将正常执行。无法使用 set_error_handler() 捕获eval()中的解析错误。

范例

Example #1eval()例子 - 简单的文本合并

<?php

$string = 'cup';

$name = 'coffee';

$str = 'This is a $string with my $name in it.';

echo $str. "\n";

eval("\$str = \"$str\";");

echo $str. "\n";

?>

以上例程会输出:

This is a $string with my $name in it.This is a cup with my coffee in it.

Note: 因为是一个语言构造器而不是一个函数,不能被 可变函数 调用。

Tip和直接将结果输出到浏览器一样,可使用输出控制函数来捕获当前函数的输出,然后(例如)保存到一个 string 中。

Note:

如果在执行的代码中产生了一个致命的错误(fatal error),整个脚本会退出。
linux
shell中的eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。

例如

$:cat ext

count=3

cmd=echo

cmd="$cmd \$$count"

ext 11 22 33

此时cmd=" echo $3"

eval $cmd 等价于 "echo 33 "

2. 如何在cmd命令行下运行php

把你安装后的php.exe文件路径添加到系统PATH下,就行了

3. 如何在cmd命令行下运行php

在CMD下运行PHP文件有两种方法:
方法一、直接调用PHP.EXE来运行,例如你需要运行A.PHP,而PHP安装在C:\PHP下面,那么可以用下面的命令运行它:
C:\>C:\PHP\PHP.EXE
A.PHP
方法二、利用文件关联,直接把A.PHP作为A.BAT等文件一样运行,例如下面的命令:
C:\>A.PHP

4. 如何通过PHP执行linux命令

我使用的意思是想通过php代码做的更好对任意那么的目录可读可写可卸载,可以执行kill pid等的命令。
当然还存在还存在的做法,这是我使用的猜测,您不妨试看看,
1、把php的运行网民改为root,这种可能会存在必须的风险。
2、在apache里面指定可以对某个root权限的文件或目录做操作,该做法没试验过。可能您能试验成功的话,希望反馈一下哦。
求助者:恩,第一种做法,我使用的想过,可就是我是想参考我集团的思路来,所以这种做法没尝试过。因为它存在安全疑问。
第二个做法,应该可以,可就是太局限性了。要是文件多咋办,还存在我要想执行个kill,services restart等,肯定就不行了。
大家集团貌似是,写了个linux命令,和您们的思路貌似是一样的回者答:这是大家的做法:用VC写个服务,该服务的运行身份是root,也可以给其最大权限,php调用这个服务做操作。 该做法可行,只是就得多一种底层语言。
还存在的做法经测试:
第一种做法,成功。
我使用的项目用是VC写的服务。
第一种做法,可以改变PHP的运行身份,SuexecUserGroup指定CGI程序运行时所使用的网民和组。非CGI程序的请求仍然使用User指令所指定的网民身份处理。该指令取代了Apache的VirtualHosts配置中的User和Group指令。建议您看下类似的文档,个人做调试。好像还存在别的做法哦。好像是用super。这种您得个人摸索。我只提供思路哦`` 哈哈`` 谢谢``

5. thinkphp 命令行模式执行,如何才能执行数据库的操作

在本地创建新的Git仓库(连接别人的代码和创建自己的代码库)
mkdir andbase
cd andbase
git init
touch README.md
git add README.md
git commit -m 'hello world'
git remote add origin [email protected]:Liutos/foobar.git
将主分支修改推送到服务器

6. 如何在cmd下面写php代码

首先要把php目录放到环境变量path下面:

我的电脑-》属性-》高级-》环境变量-》系统变量->Path->编辑->

查看路径下有没有php目录,如果没有加上

比如我的php路径是E:AppServphp5 所以要在最后面加上E:AppServphp5;

成功后win+r 调出命令行,输入php-v 查看版本,如果不对请检查坏境变量是否设置正确

运行php文件php-f 路径+文件名 或者php路径+文件名

(小技巧:windows下面可以把文件直接拖进去,省去cd/命令,或者慢慢拼写完整路径)

两种方法都可以执行命令,如果是.php文件则执行php代码,否则直接以字符串形式读取文件

4在命令行直接写并运行PHP代码,在windows环境下,尽量使用双引号, 在linux环境下则尽量使用单引号来完成。php-r “echo getcwd();”

7. 怎么用php命令执行php代码

PHP执行命令的四种方法

方法一:使用exec函数执行系统外部命令

原型:function exec(string $command,array[optional] $output,int[optional]
$return_value)

<?
exec("dir",$outPut);

print_r($outPut);
?>


说明:列出和PHP执行文件同级目录下的所有目录及文件信息。


知识点:exec执行系统外部命令时不会输出结果,而是返回结果的最后一行,如果你想得到结果你可以使用第二个参数,让其输出到指定的数组,此数组一个记录代表输出的一行,即如果输出结果有20行,则这个数组就有20条记录,所以如果你需要反复输出调用不同系统外部命令的结果,你最好在输出每一条系统外部命令结果时清空这个数组,以防混乱。第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。


方法二:使用system函数执行系统外部命令


原型:function system(string $command,int[optional] $return_value)


1
2
3

<?
system("dir");
?>


知识点:system和exec的区别在于system在执行系统外部命令时,直接将结果输出到游览器,如果执行命令成功则返回true,否则返回false。第二个参数与exec第三个参数含义一样。


方法三:使用函数passthru执行系统外部命令


原型:function passthru(string $command,int[optional] $return_value)


知识点:passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据。


方法四:反撇号`(和~在同一个键)执行系统外部命令


1
2
3

<?
echo `dir`;
?>


知识点:在使用这种方法执行系统外部命令时,你要确保shell_exec函数可用,否则是无法使用这种反撇号执行系统外部命令的。

热点内容
安卓7自带小游戏怎么玩 发布:2024-11-03 02:17:59 浏览:158
csgo如何连服务器 发布:2024-11-03 02:13:04 浏览:391
斯坦福python 发布:2024-11-03 01:47:08 浏览:609
乘法编程教程 发布:2024-11-03 01:37:06 浏览:693
咒怨2ftp 发布:2024-11-03 01:31:17 浏览:432
linux如何安装telnet 发布:2024-11-03 01:20:20 浏览:84
苹果手机怎么加密软件 发布:2024-11-03 01:20:16 浏览:886
微信存储路径删除 发布:2024-11-03 01:14:09 浏览:393
c语言贪吃蛇源码 发布:2024-11-03 00:57:15 浏览:120
八码算法 发布:2024-11-03 00:56:31 浏览:975