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‘选项解析并执行命令后跟随的文件。