当前位置:首页 » 编程语言 » linuxphpcli

linuxphpcli

发布时间: 2024-10-18 00:22:40

linux命令怎么运行php文件

在安装完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
然后,将浏览器访问 http://127.0.0.1/infophp.php ,这将会在网络浏览器中打开该文件。

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

由于输出结果太大,我们可以通过管道将上述输出结果输送给 less 命令,这样就可以一次输出一屏了,命令如下:
# php -f /var/www/html/infophp.php | less

检查所有PHP信息
这里,‘-f‘选项解析并执行命令后跟随的文件。

② linux centos 7 下用yum 安装iso镜像里自带的php5.4.16版本的但是没有php-fqm文件不知道怎么重启php服务

systemctl restart php-fpm.service #这条命令是重启php服务
下面是一个比较靠谱的php安装步骤:
先删除已有的php版本 ,执行下面的命令删除php
yum remove php-common
然后像安装那样问你是否继续的,输入yes即可

添加 yum 源
CentOS 6.x 的源
# rpm -Uvh http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

安装 PHP
# yum install --enablerepo=remi,remi-php56 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common
注:安装5.6版本为remi-php56,安装5.5版本为remi-php55

③ php swoole 只能运行在php-cli 环境吗

一直想写点Swoole的东西,毕竟它重新定义了php,却一直不知道怎么下手写Swoole涉及的知识点非常多,互为表里,每次想写都发现根本理不出一个头绪Swoole是一个php的扩展,它的核心目的就是解决php在实现server服务中可能遇到的一系列问题,这些问题用源生的php往往并不能很高效(执行效率)的解决,一般也不会使用php来解决,所以会有说swolle重新定义的php的说法。
其实swoole也提供了一个框架,swoole framework是基于swoole extension设计的一个框架,要用好这个框架,还是要先了解swoole extension。
扩展的英文名称是Extension,php扩展是用C语言作为开发语言,基于Zend引擎提供的API,编译成的一个动态库。
如果曾经做过类似动态库调用开发的童鞋可能会更好理解一些,例如Android中的NDK开发在php的配置文件中配置好extension的属性后,就可以引用这个动态库了。
也就是说,swoole本身是用C语言编写的,它可以让php获得一些额外的function。
然后是运行方式,swoole的许多功能都只能运行在cli模式下,而cli模式往往是很多刚接触swoole的phper遇到的第一个问题。
有时候其实只是需要转变一下思路
我们现在整理一下最常见的php代码执行方式:
安装apache、php
配置apache对那个目录进行php解析
用浏览器访问那个目录的php文件
更多的细节这里就不提了,毕竟我相信每个phper对这个都是很熟悉的。
但这里就开始出现了第一个问题,我们知道,php是一个脚本语言,脚本语言的核心特点在于不用编译,随时执行,而执行脚本的工具就是解析器,而php的解析器就是zend引擎。
严格来说,zend并不是唯一的选择,不过,zend是最官方的。另外,Zend Studio和Zend Engine不是同一个东西,本文中的Zend全部指Zend Engine。
换个角度讲,只要有解析器,写好的php脚本就是可以执行的,而zend引擎与apache之间并没有绝对的关系实际上,apahce是调用了zend对php脚本进行执行,然后将执行结果输出给了浏览器所以所谓cli模式(CommandLine,命令行模式),其实就是在命令行下直接调用zend引擎对php脚本进行解析并执行,并获得程序输出结果的php脚本执行方式。
其实php也可以作为shell脚本来使用哦,就像bash shell一样既然问题讲清楚了,在一个系统中具体怎么操作呢?
本文以CentOS 7.5作为系统环境,swoole是针对linux系统开发的,windows下并不适用。学习swoole的一个前题是懂得基本的linux系统使用。
当安装好php的时候,找到php的安装目录,如果是默认安装的话,可以试试whereis命令# 某种简单的方法
whereis php
> /usr/local/bin/php;
locate whereis find这些命令都可以试试,目的是找到php然后我们来写一个最经典的php脚本:
<?php
//vi hello_cli.php
echo 'Hello PHP Cli';
编写纯php脚本时,php标签不要封口
然后我们在shell里执行它:
/usr/local/bin/php hello_cli.php
> Hello PHP Cli
这段代码中的第一个php,是一个可执行文件,它接受一个php脚本文件作为输入参数,并解析执行这个php脚本文件(通过zend)。
没有错,第一个cli模式下的php程序就被你执行成功了!
默认情况下,php都会被安装在了$PATH的目录下,那就可以直接省略路径前缀了,下文中调用php的时候,全都省略了路径前缀。
因为swoole是pecl的项目,所以使用pecl安装是最简单的方法,强烈推荐第一次接触的童鞋先使用pecl安装,在熟悉了swoole之后,再考虑使用编译安装的方式以获取更多进阶功能。
pecl这个工具基本都会被安装在与php相同的目录下(往往也都是$PATH目录)pecl install swoole
执行以下命令查看是否安装成功:
php -m | grep swoole
> swoole
如果正确的输出了swoole,那么恭喜你,这次安装很成功另一个常见的比较麻烦的问题是,有些童鞋的电脑里安装了多个php,而安装的时候没有正确的安装到预期的php的扩展目录中,就会导致无法正常工作,解决方案就是弄清楚各个php安装目录及配置关系,选择正确的目录进行安装。
其实本文还没正式开始介绍swoole,都是在学习swoole之前的准备工作,swoole的上手门槛比一般的php应用要高的多,如果没有网络开发和操作系统方面的一些知识,学习它并不是一件容易的事情,学习曲线很陡峭。
这句话我在群里说了无数次
很多新手会诟病swoole的手册写的太模糊,其实是前置知识不足,而手册也给出了需要的前置知识列表,以下引用至官网的手册-学习swoole需要哪些知识?
多进程/多线程
了解Linux操作系统进程和线程的概念
了解Linux进程/线程切换调度的基本知识
了解进程间通信的基本知识,如管道、UnixSocket、消息队列、共享内存socket
了解SOCKET的基本操作如accept/connect、send/recv、close、listen、bind了解SOCKET的接收缓存区、发送缓存区、阻塞/非阻塞、超时等概念IO复用
了解select/poll/epoll
了解基于select/epoll实现的事件循环,Reactor模型了解可读事件、可写事件
TCP/IP网络协议
了解TCP/IP协议
了解TCP、UDP传输协议
调试工具
使用gdb调试Linux程序
使用strace跟踪进程的系统调用
使用tcpmp跟踪网络通信过程
其他Linux系统工具,如ps、lsof、top、vmstat、netstat、sar、ss等学习并理解一个新事务并不是一个容易的事情,特别对于swoole这种具备一定颠覆性的工具,要有耐心和实践。
淡定的把手册看完,遇到不理解的名词学会使用搜索引擎学习,swoole的手册其实是个大宝库,网络开发常见的问题其实里边都涉及到了。

④ 如何在Linux服务器上查看PHP信息

linux服务器查看php信息,用到的工具:雅黑探针,步骤如下:

  1. 下载雅黑探针,也就是一个一个tz.php的探针文件,可以自己改成任意的名称。

2.将下载的探针文件上传到linux服务器的任意一个网站目录下边,然后运行一下,就可以输出php的信息,效果图如下:


注意事项:利用php探针查看php信息前提必须安装php环境。

⑤ Php cli是守护进程的吗

php_cli模式简介

php-cli是php Command Line Interface的简称,如同它名字的意思,就是php在命令行运行的接口,区别于在Web服务器上运行的php环境(php-cgi, isapi等) 也就是说,php不单可以写前台网页,它还可以用来写后台的程序。 PHP的CLI shell脚本适用于所有的PHP优势,使创建要么支持脚本或系统甚至与GUI应用程序的服务端!——注:windows和linux下都支持php_cli模式

PHP-cli应用场景:

1.多线程应用
这方面的好处,引用鸟哥的话:

优点:
1. 使用多进程, 子进程结束以后, 内核会负责回收资源
2. 使用多进程,子进程异常退出不会导致整个进程Thread退出. 父进程还有机会重建流程.
3. 一个常驻主进程, 只负责任务分发, 逻辑更清楚.

php的多线程—没错就是php多线程应用,虽然大家都普遍认为php没有多线程(curl属于模拟多线程而不是真实的),但是在php_cli模式下的php彻底的是属于多线程。这个时候php属于linux的一个守护进程。 在本人之前写过的《PHP多线程批量采集下载美女图片(续)》的时候在采集程序里虽然使用curl来模拟多线程,但是在浏览器执行的时候也是会遇到执行超时或内存abort而导致程序中断,(要尝试几次才可以彻底成功),但是如果在php-cli模式下执行,你就会发现这个程序执行的很快,php多线程执行的优势被彻底表现出来了.

备注:这种多线程方式不是很成熟,不适合大规模的生成应用,偶尔使用还是可以的

2.定时执行php程序

利用linux的cron方式,那么这个方式是如何定时执行php程序?请看下文

3.开发桌面程序

你可以做您的Windows或Linux中使用PHP的图形用户界面(GUI)应用!所有你需要的是PHP的命令行接口和一包GTK。这将允许建立真正的便携式图形用户界面应用程序(呵呵,之前只是知道php可以做桌面程序,现在才知道是使用php_cli模式),并且不需要学习别的。

4.编写PHP的shell脚本
如果你不会bash shell或者Perl等的使用,但是你又需要一些脚本去执行的时候,怎么办?这个时候你完全可以使用你熟悉的php编写shell脚本,这个时候你是不是突然感觉PHP是不是太强大了!—–真正做到一种语言,到处开发!

PHP_CLI使用方法

win下面的执行方法:
假设php.exe 在D:xamppphp在dos命令在可以这个执行:

复制代码 代码如下:D:xamppphpphp.exe D:xampphtdocstest.php

就可以执行test.php这个文件了 。这里推荐win平台下xampp集成环境,真正比wamp强大N倍,这个集成包可以直接进入dos模式。

linux下php_cli使用
首先找到你安装php的路径,以我为例:



当然实现的方法不止一个,大家可以尝试其他方法实现!

例外关于php的cli还有很多参数可以加入:具体可以参考:http://php.net/manual/en/features.commandline.php

关于定时执行
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,周期性作业,比如备份数据 打开/etc/crontab,添加:
复制代码 代码如下:
/usr/bin/php -f /data/htdocs/test.php

⑥ 问一个Linux的问题(Ubuntu 卸载php)

linux下的安装一般分为两种
1.使用系统支持的格式包自动安装,比如ubuntu的Deb包也就是 apt-get 方式 和redhat的rpm包,也就是yum方式。
2.使用源码包进行自定义编译安装。也就是通常我们说的configure 、make、make install基本三部曲。

问题来了,如果你系统中的php不是用apt-get的方式去安装的,那么就不能用apt-get去unstall。如果是编译安装的话必须要手动卸载,这样看你的php是编译到哪里的,一般来说如果你在编译的时候没有指定路径的话,默认的会在/usr/local下 你可以在其中找一下是否有php的目录。如果有的话可以先停掉php服务器,然后删除php根目录及相关文件即可。

⑦ PHP CLI模式开发详解

PHP CLI模式开发是一种无需Web服务器的运行方式,适用于各种场合。CLI模式有以下两种运行方式:

1. **使用脚本路径调用PHP CLI解释器**,通过命令行指定路径,如`# php /path/to/yourFile.php`,并传递参数。此方法需明确PHP解释器的位置。

2. **为文件设置可执行权限**,在UNIX/Linux环境执行`chmod +x`,将PHP文件设置为可执行。在脚本头部添加`#! /usr/bin/php`或类似声明,并在命令行直接执行。

在CLI模式下,可以从`$_SERVER['argv']`和`$_SERVER['argc']`获取命令行参数。例如,创建文件`cliPHP1.php`,实现读取参数功能。

在处理输入输出时,CLI遵循UNIX系统设计,使用三个文件句柄:`STDIN`、`STDOUT`和`STDERR`。通过这些句柄,可以实现与用户的交互,如输出到屏幕或重定向到文件。例如,将脚本输出重定向到文件或使用管道`|`将输出传递给另一个命令。

`nohup`命令用于在后台运行CLI脚本,即使退出当前会话也能持续运行。使用`nohup`命令并添加文件名作为输出重定向,脚本执行的结果将保存至指定文件,如`log.txt`。使用`tail`命令实时查看文件内容。

实现一个持续生成静态HTML文件的脚本(`cliPHP3.php`)。

更多关于PHP CLI模式开发的知识,包括进阶文档、架构视频、精彩文章等资源,可通过关注公众号:PHP开源社区,或访问相关链接获取。

⑧ 如何在天翼云主机上部署linux系统

你好,部署方法如下:
第一步: 安装配置Remi源

Remi 源是包含最新版本Apache、 PHP 和 MySQL 等包的 Linux 源,由 Remi 提供维护,都是一些linux技术大牛上传的。有个这个源之后,使用 YUM 安装或更新 Apache、PHP、MySQL、phpMyAdmin等服务器相关程序的时候就非常方便了。
代码如下 复制代码

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

第二步: 安装Apache, MySQL 5.5.30 & PHP 5.4.12

代码如下 复制代码

yum –enablerepo=remi,remi-test install httpd mysql mysql-server php php-common

第三步: 安装PHP 5.4.12 模块

代码如下 复制代码

yum –enablerepo=remi,remi-test install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

第四步: 启动Apache & MySQL 5.5.30服务

代码如下 复制代码

chkconfig –levels 235 httpd on
chkconfig –levels 235 mysqld on
/etc/init.d/httpd start
/etc/init.d/mysqld start

第五步: 验证Apache, MySQL 5.5.30 和 PHP 5.4.12的安装情况

热点内容
文件夹加密了怎么办 发布:2024-11-24 07:51:33 浏览:419
linux是实时系统吗 发布:2024-11-24 07:23:17 浏览:143
java数据挖掘算法 发布:2024-11-24 07:18:59 浏览:854
我的世界服务器怎么重开指令 发布:2024-11-24 07:14:13 浏览:156
python删除dataframe 发布:2024-11-24 07:05:38 浏览:735
安卓机蓝牙怎么传东西 发布:2024-11-24 06:58:34 浏览:109
android叠效果 发布:2024-11-24 06:58:33 浏览:992
富士通电脑服务器设置u盘启动 发布:2024-11-24 06:56:21 浏览:717
delphipython 发布:2024-11-24 06:51:24 浏览:867
安卓手机如何添加文字 发布:2024-11-24 06:50:54 浏览:568