php使用escapeshellarg时中文被过滤的解决方法

 更新时间:2016年07月10日 00:24:02   作者:ricky1217  
这篇文章主要介绍了php使用escapeshellarg时中文被过滤的解决方法,测试后发现问题的原因是shell和apache php-cgi的运行环境不同引起的,需要的朋友可以参考下

本文分析了php使用escapeshellarg时中文被过滤的解决方法。分享给大家供大家参考。具体如下:

一、问题:

同样的代码,发现通过 localhost/index.php 访问,和在 shell 中通过 php ./index.php 运行結果却不一样。

在程序中需要通过 shell_exec 来执行一个 linux 程序,而它的输入来自 echo ,即:

shell_exec('echo '.escapeshellarg($str).' | some_cmd 2>&1'); 

二、解决方法:

而这个 $str 中可能包含中文的。一开始我还以为是 some_cmd 自己把中文滤掉,后来发现是 escapeshellarg 的问题。
貌似出现这个问题的不多,经过查询与测试发现原来是 shell 和 apache php-cgi 的运行环境不同引起的。
在 php 中加入:

setlocale(LC_CTYPE, "UTF8", "en_US.UTF-8");

就正常了!

希望本文所述对大家php程序设计有所帮助。

相关文章

  • php实现简单四则运算器

    php实现简单四则运算器

    这篇文章主要为大家详细介绍了php实现简单四则运算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • PHP实现可精确验证身份证号码的工具类示例

    PHP实现可精确验证身份证号码的工具类示例

    这篇文章主要介绍了PHP实现可精确验证身份证号码的工具类,涉及php针对字符串的截取、计算、判断等相关操作技巧,并附带说明了身份证号码的原理,需要的朋友可以参考下
    2018-05-05
  • php获取网页内容方法总结

    php获取网页内容方法总结

    用php抓取页面的内容在实际的开发当中是非常有用的,如作一个简单的内容采集器,提取网页中的部分内容等等
    2008-12-12
  • PHP 程序授权验证开发思路

    PHP 程序授权验证开发思路

    做一套商业程序,如只充许客户只能用于一台服务器,授权验证就很重要了。
    2009-07-07
  • php中debug_backtrace、debug_print_backtrace和匿名函数用法实例

    php中debug_backtrace、debug_print_backtrace和匿名函数用法实例

    这篇文章主要介绍了php中debug_backtrace、debug_print_backtrace和匿名函数用法,以实例形式分析了debug_backtrace和debug_print_backtrace函数在调试过程中的作用,并分析了PHP5.3新增匿名函数的用法,需要的朋友可以参考下
    2014-12-12
  • 启用OPCache提高PHP程序性能的方法

    启用OPCache提高PHP程序性能的方法

    今天小编就为大家分享一篇关于启用OPCache提高PHP程序性能的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • php session的应用详细介绍

    php session的应用详细介绍

    这篇文章主要介绍了php session的应用详细介绍的相关资料,需要的朋友可以参考下
    2017-03-03
  • php htmlentities和htmlspecialchars 的区别

    php htmlentities和htmlspecialchars 的区别

    很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。
    2008-08-08
  • PHP中常用的字符串格式化函数总结

    PHP中常用的字符串格式化函数总结

    这篇文章主要介绍了PHP中常用的字符串格式化函数总结,本文讲解的函数是WEB中经常用到的,例如取出空格和字符串填补函数、字符串大小写的转换、和HTML标签相关的字符串格式化等,需要的朋友可以参考下
    2014-11-11
  • 小文件php+SQLite存储方案

    小文件php+SQLite存储方案

    在互联网快速发展的背景下,网络上的数据内容呈几何级的增长,而其中增长最快并且最容易给信息基础架构带来挑战的就是数目庞大的小文件(如图片、电子图书、邮件等)。
    2010-09-09

最新评论