好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php运行bash脚本 php脚本工作流程

很多站长朋友们都不太清楚php运行bash脚本,今天小编就来给大家整理php运行bash脚本,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 如何用php作Linux自动执行脚本 2、 如何在php代码中 执行shell脚本时 给shell脚本传递参数? 3、 Linux怎么直接执行PHP脚本文件 4、 如何通过Linux命令行使用和运行PHP脚本 如何用php作Linux自动执行脚本

Linux中crontab是实现定时执行的指令,利用这个指令我们就可以定时执行某一个php文件,从而实现用PHP做Linux自动执行脚本。

如何用PHP作Linux自动执行脚本?

在安装PHP的时候,会产生一个可执行文件,文件名为php.将它 copy 到 /usr/local/bin 下.在终端方式执行php程序:

php -q onlinnum.php

PHP 原本是应用在网页应用的﹐因此它会送出 HTML 的HEADER﹐但是在此我们是要将 PHP 用作 Shell Script﹐"-q" 就是表示不要送 出 HEADER 的意思.你可以试试看不加上 -q 的显示结果。此时你已经可以在终端方式下执行PHP 代码了。 linux命令:cron daemon

这是一个系统中常驻的服务,功能在于执行例行性的工作,如每天一次或每月一 次检查磁盘。cron daemon 会在每分钟检查一次排定的工作表(crontab),看看是否有要执行的指令,所有的输出会以mail寄给用户。

设置 crontab

命令:crontab -e

该命令呼叫vi编辑器来编辑执行的清单。例如

0 0 1,15 * * fsck /home

1 * * * * /home/myhome/printhello

每一行代表一项排定的工作,在指令前为排定的时间,总共有5个栏位,以空格间隔,由左到右依序如下:

--------------------------

分钟 从00到 99

点钟 从0到 24

日 从01到31

月 从01到12

星期 从01到07,代表星期一到星期日

*号表示"每" ,如每天执行,就在第三栏填*号

--------------------------

所以上例的两项工作是:

每月1号和15号检查/home 磁盘

每小时的第一分执行 /home/myhome/printhello 这个文件

查看crontab:crontab -l

删除crontab:crontab -r

我们就知道该怎么利用PHP和crontab命令作Linux自动执行脚本了。

还需要注意什么问题?

如果php中有使用数据库,如oracle等,执行脚本中还需export Oracle的环境设置。因为cron下的脚本执行的用户都是在没登陆状态下执行的,少了很多系统里设置的环境变量的值,在连接数据库的时候会出问题。

如何在php代码中 执行shell脚本时 给shell脚本传递参数?

#include <stdio.h>

#include <stdlib.h>

main()

{

system("123.bat haha");

}

.bat里:

echo %1

执行后输出

haha

所以在system要执行的脚本名后面直接加上参数就可以了

Linux怎么直接执行PHP脚本文件

首先脚本需要有执行权限chmod u+x file.sh

执行脚本有三种方法:

1. ./file.sh

特点:开启bash子进程来执行,也就是开启额外的进程来进行,不影响原进程的变量、配置等

2. bash file.sh

特点:和./file.sh相同

3. source file.sh 或者 . file.sh

特点:在原bash进程中执行脚本。

第三种方法主要用于在脚本中切换用户su、切换目录cd等命令。

source 和 . 命令是相同的。

你可以搜索 source

补充,如何查看脚本运行是否开启了bash子进程

vim file.sh

写入

#!/bin/bash

#echo $$命令会输出bash进程ID

echo $$

保存并赋予可执行权限chmod u+x file.sh

在你的shell中输入,echo $$ 屏幕输出4176

./file.sh 屏幕输出3600

bash file.sh 屏幕输出3984

source file.sh 屏幕输出4176 和 你直接在shell中输出的一样,说明是在同一个bash进程

如何通过Linux命令行使用和运行PHP脚本

1. 在安装完PHP和Apache2后,我们需要安装PHP命令行解释器。

复制代码 代码如下:

# apt-get install php5-cli

[Debian 及类似系统]# yum install php-cli

[CentOS 及类似系统]

接下来我们通常要做的是,在 /var/www/html (这是 Apache2 在大多数发行版中的工作目录)这个位置创建一个内容为 <?php phpinfo(); ?> ,名为 infophp.php 的文件来测试(PHP是否安装正确),执行以下命令即可。

复制代码 代码如下:

# echo '<?php phpinfo(); ?>' > /var/www/html/infophp.php

然后,将浏览器访问 ,这将会在网络浏览器中打开该文件。

检查PHP信息

不需要任何浏览器,在Linux终端中也可以获得相同的结果。在Linux命令行中执行 /var/www/html/infophp.php ,如:

复制代码 代码如下:

# php -f /var/www/html/infophp.php

从命令行检查PHP信息

由于输出结果太大,我们可以通过管道将上述输出结果输送给 less 命令,这样就可以一次输出一屏了,命令如下:

复制代码 代码如下:

# php -f /var/www/html/infophp.php | less

检查所有PHP信息

这里,‘-f‘选项解析并执行命令后跟随的文件。

2. 我们可以直接在Linux命令行使用 phpinfo() 这个十分有价值的调试工具而不需要从文件来调用,只需执行以下命令:

复制代码 代码如下:

# php -r 'phpinfo();'

PHP调试工具

这里,‘-r‘ 选项会让PHP代码在Linux终端中不带 < 和 > 标记直接执行。

3. 以交互模式运行PHP并做一些数学运算。这里,‘-a‘ 选项用于以交互模式运行PHP。

复制代码 代码如下:

# php -aInteractive shellphp > echo 2+3;5php > echo 9-6;3php >

echo 5*4;20php > echo 12/3;4php > echo 12/5;2.4php > echo

2+3-1;4php > echo 2+3-1*3;2php > exit

输入 ‘exit‘ 或者按下 ‘ctrl+c‘ 来关闭PHP交互模式。

启用PHP交互模式

4. 你可以仅仅将PHP脚本作为shell脚本来运行。首先,创建在你当前工作目录中创建一个PHP样例脚本。

复制代码 代码如下:

# echo -e '#!/usr/bin/php\n<?php phpinfo(); ?>' > phpscript.php

注意,我们在该PHP脚本的第一行使用 #!/usr/bin/php ,就像在shell脚本中那样( /bin/bash )。第一行的 #!/usr/bin/php 告诉Linux命令行用 PHP 解释器来解析该脚本文件。

其次,让该脚本可执行:

复制代码 代码如下:

# chmod 755 phpscript.php

接着来运行它,

复制代码 代码如下:

# ./phpscript.php

5. 你可以完全靠自己通过交互shell来创建简单函数,这你一定会被惊到了。下面是循序渐进的指南。

开启PHP交互模式。

复制代码 代码如下:

# php -a

创建一个函数,将它命名为 addition 。同时,声明两个变量 $a 和 $b 。

复制代码 代码如下:

php > function addition ($a, $b)

使用花括号来在其间为该函数定义规则。

复制代码 代码如下:

php > {

定义规则。这里,该规则讲的是添加这两个变量。

复制代码 代码如下:

php { echo $a + $b;

所有规则定义完毕,通过闭合花括号来封装规则。

复制代码 代码如下:

php {}

测试函数,添加数字4和3,命令如下:

复制代码 代码如下:

php > var_dump (addition(4,3));

样例输出

复制代码 代码如下:

7NULL

你可以运行以下代码来执行该函数,你可以测试不同的值,你想来多少次都行。将里头的 a 和 b 替换成你自己的值。

复制代码 代码如下:

php > var_dump (addition(a,b));

php > var_dump (addition(9,3.3));

样例输出

复制代码 代码如下:

12.3NULL

创建PHP函数

你可以一直运行该函数,直至退出交互模式(ctrl+z)。同时,你也应该注意到了,上面输出结果中返回的数据类型为 NULL。这个问题可以通过要求 php 交互 shell用 return 代替 echo 返回结果来修复。

只需要在上面的函数的中 ‘echo‘ 声明用 ‘return‘ 来替换

替换

复制代码 代码如下:

php { echo $a + $b;

为

复制代码 代码如下:

php { return $a + $b;

剩下的东西和原理仍然一样。

这里是一个样例,在该样例的输出结果中返回了正确的数据类型。

PHP函数

永远都记住,用户定义的函数不会从一个shell会话保留到下一个shell会话,因此,一旦你退出交互shell,它就会丢失了。

关于php运行bash脚本的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php运行bash脚本 php脚本工作流程的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did242570
更新时间:2023-05-28   阅读:45次

上一篇: php怎么加换行 php回车换行

下一篇:php性能分析app php 性能优化

相关资讯

最新资料更新

  • 1.csrfphp防的简单介绍
  • 2.韩顺平php视频教程下载 韩顺平oracle视频
  • 3.php网页老是跳转 php 网页跳转
  • 4.phpcurl带证书 php证书查询系统
  • 5.php自学教程推荐 php入门课程
  • 6.php版本怎么更新 php版本升级
  • 7.登录htmlphp 登录html
  • 8.token验证php Token验证失败异地登陆什么意思
  • 9.php数据库的建立 php中数据库怎么设计
  • 10.php项目的更新 php版本升级对程序影响
  • 11.php客户信息管理 php用户管理
  • 12.phpjavacms的简单介绍
  • 13.php获取监控视频 php采集视频地址
  • 14.天津php公司的 天津程序员公司
  • 15.php判断字符串的编码 php 判断字符串是否存在某个字符串
  • 16.phpsql添加记录 php数据表里怎么添加数据
  • 17.长沙php就业怎样 2021年php就业班
  • 18.php网页打印控件谷歌 php打印插件
  • 19.phpisset多个值 php __set __get
  • 20.php和php-fpm的简单介绍

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]