centos php 命令行(centos7运行程序命令)

php-fpm无法执行exec中的命令问题(附解决方案)

因为有些浏览器不支持webp图片格式,需要将webp格式的图片转换为png。为此需要安装dwebp图片转换工具。最开始采用源码编译安装,源码下载地址点击此处。可能需要先安装一些依赖库:

yuminstalllibjpeg-devlibpng-devlibtiff-devlibgif-devtarzxvflibwebp-1.2.0.tar.gzcdlibwebp-1.2.0./configuremakemakeinstall

在命令行下可以正确执行

dwebpxxx.webp-oxxx.png

在phpcli命令行模式下也可以正确执行:

<?php$shell="dwebpxxx.webp-oxxx.png";$output=array();$return='';exec($shell,$output,$return);

返回的$return为0,表示没有错误,命令正常执行。

但是在php-fpm模式下,始终无法得到转换的png图片,而且$return为127,127表示无法找到命令。改成绝对路径也同样返回127

$shell="/usr/bin/dwebpxxx.webp-oxxx.png";

而且php.ini中的safe_modes=off,disable_functions中也没有exec调用。查阅资料提示可能需要yum安装dwebp,但是我的系统版本centos6.5,国外yum源很多无法访问,最后将CentOS-Base.repo改为如下:

[base]name=CentOS-6failovermethod=prioritybaseurl=

然后php-fpm中可以正常执行exec("dwebp..."),将webp图片转为png格式。

CentOS的文件如何查看及编辑

本文来说下CentOS文件查看及编辑

命令一:cat

首先来介绍cat,cat命令的原含义为连接(concatenate),用于连接多个文件内容并输出到标准输出流中(标准输出流默认为屏幕)。实际运用过程中,我们常使用它来显示文件内容。

cat file1.php显示 file1.php文件的内容;

cat-n file2.py显示 file2.py文件的内容同时显示行号;

cat file1.php file2.py显示 file1.php和file2.py文件的内容;

命令二:vi

vi是”Visual Interface”的简称,vi编辑器是Linux和Unix上最基本的文本编辑器。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。 vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 vi没有菜单,只有命令,且命令繁多。限于篇幅,本文只介绍常用的命令。 vi有3种基本工作模式:命令行模式、文本输入模式和末行模式。

vi的进入与退出,shell模式下输入需要编辑的文件名,如:vim file1.php即可编辑文件。退出 vi时,需要在末行模式中输入退出命令“q”。如果在文本输入模式下,首先按“ESC”键进入命令模式,然后输入“:”进入末行模式在末行模式下,可使用如下退出命令。退出时:1、:q是直接退出;2、wq保存后退出;3、:q!–不保存内容,强制退出

在末行模式下,输入set number显示行号

在末行模式下,可使用如下“nu”命令(number的简写)来显示光标所在行的行号及该行的内容。

vi提供了两个插入命令:i和I。 1、i命令插入文本从光标所在位置前开始,并且插入过程中可以使用键删除错误的输入。此时vi处于插入状态,屏幕最下行显示“–INSERT–”插入字样。 2、I命令该命令是将光标移到当前行的行首,然后在其前插入文本。

vi还提供了许多删除命令这些命令 x(小写)0删除光标处的字符。 X(大写)删除光标前面的那个字符 dd删除光标所在的整行。 D或d$两命令功能一样,都是删除从光标所在处开始到行尾的内容。 d0删除从光标前一个字符开始到行首的内容。 dw删除一个单词。

vi也有文本复制命令 yy复制光标所在的整行。文本行复制后,通过使用上面介绍的“p”命令,可以将文本行粘贴到任何地方。

怎么在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

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

不需要任何浏览器,在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‘选项解析并执行命令后跟随的文件。

阅读剩余
THE END