1.问题,项目中上传文件使用插件时,windows上支持函数exif_imagetype(),而在linux上不支持. 2.PHP exif_imagetype的本质 PHP exif_imagetype note Windows users: If you get the fatal error "Fatal error: Call to undefined function exif_imagetype()", and you have enabled php_exif.dll,…
编译N次了   原来这么回事 原文地址:linux下编译php中configure参数具体含义作者:捷心特 php编译参数的含义 ./configure –prefix=/usr/local/php                      php 安装目录 –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/php/etc      指定php.ini位置 –with-mysql=/usr/local…
linux下查找文件中空行的行号 linux下查找文件中空行的行号 以aa.txt举例: 方法1:sed -n '/[a-zA-Z0-9@#$%^&*]/!=' aa.txt 方法2:grep -n ^$ aa.txt 方法3:awk '/^$/{print NR}' aa.txt 方法4:sed -n '/^$/=' aa.txt…
更多内容推荐微信公众号,欢迎关注: 若在服务器中使用php test.php运行exec,system,passthru等命令相关的脚本能成功运行,在web页面却没反应, [可能是服务器端,PHP脚本没有相应执行脚本文件的执行权限,建议先排查执行权限问题] 则查看下apache的error_log日志,一般是这几个函数 system() has been disabled for security reasons in /var/www/html/test.php on line 34 报错了.…
前言 一直以来对Linux下编译链接产生的问题没有好好重视起来,出现问题就度娘一下,很多时候的确是在搜索帮助下解决了BUG,但由于对原因不求甚解,没有细细研究,结果总是在遇到在BUG时弄得手忙脚乱得. 甚至有时候为了一个问题查了半天的资料,好不容易解决了,却因为没有记录下来或者没有弄清楚真实原因,结果第二次碰到还是要去重复前次的折腾,很是尴尬无奈. 虽然,同样的错误信息,其产生的原因不一而足,但是,总结一下终归是好的,使不知变知之,只要不在同一件事情上重复同样的错误,发现的问题越多,解决的问题越…
本文转载自;http://www.bkjia.com/article/28216.html Linux下select函数的使用 Linux下select函数的使用 一.Select 函数详细介绍 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect. accept.recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发 生,如果事件没…
1.背景 前几天用Python在Linux下成功的获取了二代证数据,最近正在学Go语言,这两天想着用Go语言也实现一下试看看. 2.开搞C++ 这次就比较简单了,直接把CppDemo里面的SynReader.h拿来就可以,还有就是把CppDemo里面的lib文件也复制过来就可以, 具体流程和Python那篇文章的一样 被我精简后的SynReader.h #ifndef SYN_READER_H #define SYN_READER_H #ifdef __cplusplus extern "C&q…
1.背景 最近在研究二代证读卡器,手头上的设备是新中新DKQ-A16D,在官网(https://www.onecardok.com.cn/download)逛了一圈,发现Win下的示例,浏览器插件很多,Linux下的就少的可怜了,只有“新中新身份证读卡器开发包Linux版V1.2.1”,“新中新读卡器麒麟ArmV8火狐扩展程序安装及使用说明V1.1”,意味着浏览器插件还只能在ARM的平台下才能使用.Linux的也只有C++和Java版本. 2.开搞C++ 大概看了下C++的Demo,这个Demo…
// all.h// 2005/06/20,a.m. wenxy #ifndef _ALL_H#define _ALL_H #include <memory.h>#include <stdio.h>#include <stdlib.h>#include <sys/ioctl.h>#include <sys/types.h>#include <sys/socket.h>#include <net/if.h>#include…
PHP中为我们提供了各种各样的系统函数来实现我们需要的各种功能,那么,在不使用系统函数的情况下我们要怎样来实现这些功能呢?以下就是几种系统函数的实现方式. 首先,我们来定义一个数组: $arr= array(1,2,3,4,5,6,"a"=>7,"b"=>8,"c"=>"haha",10); 以下是对于这个数组可以使用的系统函数和不使用系统函数获得同样效果的方式: 1.返回数组的所有的值,返回数组.(arra…
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决的方法: 检查之后发现已经安装libjpeg.可是/usr/lib文件夹下没有libjpeg.so这个文件,在/usr/lib64下是有的,使用–with-jpeg-dir=/usr/lib64 依旧无效, 最后用ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so问题解决 libpng报错解决方法一样…
首先,插入到DB数据,在Linux在查询时,现场展示??. 再次,在windows连接到db上,查看的结果并非乱码. 改动Eclipse软件中的编码:如上图:windows菜单->preference->general->content type.Javaclassfile和text都设成utf-8: 然后 在Linux下运行下面的命令: mysql> set names UTF8; 最后.在查询的时间,Linux目录下.不乱码.…
sed -i 's/\r//' filename window下默认是 \r\n linux下是\n unix下是\r…
该脚本主要的目的是练习在Linux bash脚本中捕获信号,顺便练习一下函数的使用,还有就是终止一个正在运行的程序后,该程序打开的文件的后续处理问题等等!脚本功能:  ping一个网段内的IP,检测哪些IP在线,哪些IP不在线练习的命令:1.mktemp   用法:#mktemp 1117.www.qixoo.qixoo.com/Path/To/SomeFile.XXX 其中XXX可以为多个,是由系统随机生成的一段字符串          -d  创建为目录2.ping 测试网络是否通畅  用法…
在Linux中有两种方法用于处理线程同步:信号量和互斥量. 线程的信号量是一种特殊的变量,它可以被增加或减少,但对其的关键访问被保证是原子操作.如果一个程序中有多个线程试图改变一个信号量的值,系统将保证所有的操作都将依次进行.信号量一般常用于保护一段代码,使其每次只被一个执行线程运行.信号量是用来调协线程对共享资源的访问的. 通过使用信号量可以很好的完成线程同步.两个线程同时监视同一个信号量.A线程增加信号量的值,B线程减少信号量的值.当A线程增加信号量大于0时,B线程的等待信号量就会触发,每触…
在日常的运维工作中,经常会涉及到在拷贝某个目录时要排查其中的某些文件.废话不多说,下面对这一需求的操作做一记录: linux系统中,假设要想将目录A中的文件复制到目录B中,并且复制时过滤掉源目录A中的文件a和b做法如下:#cd A#cp -r `ls |grep -v a |grep -v b| xargs` B注意:1)上面在cp命令执行前,最好提前cd切换到源目录A下,不然就要在ls后跟全路径,否则就会报错.2)命中中的xargs参数加不加效果都一样,不过最好是加上,表示前面的命令输出3)g…
^H不是H键的意思,是backspace 主要是当你的终端backspace有问题的时候才需要设置   在linux环境下使用sqlplus,在回删(backspace)时往往会出现 一串的乱码.出现乱码是由于oracle的sqlplus不使用gnu的readline库造成的.    解决方法有2种: 1. 要使用回删键(backspace)时,同时按住ctrl键 2. 设定环境变量     在bash下:$ stty erase ^H     或者把 stty erase ^? 添加到.bas…
CentOS中文件夹基本操作命令 文件(夹)查看类命令 ls--显示指定目录下内容 说明:ls 显示结果以不同的颜色来区分文件类别.蓝色代表目录,灰色代表普通文件,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件. -a---显示所有内容,包括隐藏文件 说明:在Linux系统中,以“.”开头的就是隐藏文件或隐藏目录. -l---以长格式(内容更详细)显示文件或目录的详细信息. 说明:ls -l命令可以简写成ll, 输出的信息共分为7组:文件类别和文件权限.链接数或子目录个数.文件所有者.…
转自:http://www.cnblogs.com/dkblog/archive/2012/02/03/2337187.html [背景知识] ^M 是ascii中的'\r', 回车符,是16进制的0x0D,8进制的015,十进制的13. 对于换行这个动作,unix下一般只有一个0x0A表示换行,windows下一般都是0x0D和0x0A两个字符. 另外:^L 是ascii 0x0C '\f', 换页控制符. 而对于Linux 的vi,有些版本,比如我当前开发板里面的vi,是用busybox编译…
-I(i的大写)include头文件非标准库中存在的也不是在当前文件夹下的,需要将地址用-i(大写)包含例:-I /home/src/-L用到的函数或操作非标准库下的,需要将库存在的地址用-L包含,库文件一般为.a或.so文件-l用在-L之后,后加库名称,-l库名(.a文件名) 一般在提示:'函数名' was not declared in this scope 时,是缺少以上一种或多种条件…
由于之前爬某房地产网站的房价数据,开始没有定义好存储的位子,所以临时存储在了txt文件中.最近定义清楚数据需要存储在mongoDB中,所以我需要从原来数据中解析出来存储在mongoDB中,转存的时候在由于格式的原因导致一部分数据出现问题.因为存储的数据需要每条数据以数字开头,所以我将数据导入了Linux服务器,通过正则匹配发现有一部分数据不是以数字开头,最后发现由于Linux和win的换行不同导致的.导入Linux通过vim编辑文件,发现有问题的数据均包含^M,产生实际上是因为dos和linux…
由于刚装的eclipse中的项目和类名字体太小,并且windows中没有可以更改的方法, 所以参考了网上一些文章,终于修改成功,所以反馈进行分享,望国内开源风气如stackoverflow一样. 步骤:(本人的本机环境是win10,ubuntu版本16.04.1) 1.首先找到eclipse中的安装目录,eclipse.在eclipse/plugins/org.eclipse.ui.themes/css中,有许多的css文件,由于没有linux后缀的css文件,所以我 e4.default.gt…
比如:我以jdk-8u211-linux-i586.tar.gz为例进行. 下载完成后解压到指定文件下先创建java文件目录,如果已存在就不用创建[root@lyh:] # mkdir -p /usr/local/java解压到java文件目录[root@lyh:] # tar -zxvf jdk-8u211-linux-i586.tar.gz -C /usr/local/java/ 添加环境变量,编辑配置文件[root@lyh:] # vi /etc/profile            不会…
soname( Short for shared object name) 其是应用程序加载dll 时候,其寻找共享库用的文件名.其格式为 lib + math+.so + ( major version number) 其只包含major version number,换句话说,也就是只要其接口没有变,应用程序都可以用,不管你其后minor build version or build version. 简单来说: -Wl,-soname -Wl 告诉编译器将后面的参数传递到连接器.而 -so…
先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> test.sql #将test.sql文件中的每一行最后的符号“,”删除 sed -i 's/,$//g' test.sql #在test.sql文件中每行的开头添加左括号“(” sed -i 's/^/(&/g' test.sql #在test.sql文件中每一行的末尾添右括号“)” sed -i 's…
1.chrome 现在不允许使用root运行了. 2.无界面 chromedriver 调用chrome 会出错. <另外一定要匹配 chromedriver和chrome 的版本. 要不会出各种奇怪的问题!!!> 第一个问题解决方案: 新建立一个用户. runuser -l username -c 'python3 xxx.py' 第二个问题: 1.安装Xvfb和pyvirtualdisplay yum install xorg-x11-server-Xvfb pip install pyv…
1.编辑/etc/vim/vimrc.tiny 由于/etc/vim/vimrc.tiny的拥有者是root用户,所以要在root的权限下对这个文件进行修改.很简单,这个文件里面的倒数第二句话是“set compatible”改为  “set nocompatible”.原理是:将VI编辑器的模式改为非兼容模式就可以解决方向键变ABCD的问题了. 2.回退键的问题 在“set nocompatible”后面加上 set backspace=2 还可以使用以下办法解决切换VIM模式:  1)重新安…
通过ln命令创建软连接实现 echo $PATH 查看路径 例 我的路径是: /home/rh/anaconda3/bin:/home/rh/bin:/home/rh/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin sudo ln -s /Applications/Sublime\ Text.app/Contents/Shar…
解压修改后再打包 解压: jar xvf xxx.jar 打包: jar cvfm0 xxx.jar META-INF/MANIFEST.MF ./ 注: -m参数可以将 一个具体的mainfest文件打包进入jar内生成mainfest文件,否则运行jar会报no main manifest attribute in xxx.jar -0是store only:use no zip compression 只存储,不压缩 使用jar -h查看帮助 直接修改jar中的文件 首先安装zip和unz…