Linux开发及使用
李纲明
热忠于互联网、移动互联网技术交流和分享
展开
-
php7.2安装redis.so扩展有如下提示:Cannot find config.m4 处理
php7.2安装redis.so扩展有如下提示:Cannot find config.m4 处理说明缺少config.m4文件下截对应的编译包包含config.m4重新操作即可。如下载的编译包未包含config.m4可以下载下面的包试一下:https://codeload.github.com/phpredis/phpredis/zip/develop进目录重新执行phpize#/usr/local/Cellar/php@7.2/7.2.34_1/bin/phpize#./原创 2020-12-23 15:11:37 · 695 阅读 · 0 评论 -
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow错误提示:当pod 一个新项目的时候,或者pod 第三方库的时候,经常报错error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54这是因为git 下载有限制,所以扩展git 的下载限制命令行下使用git config --global.原创 2020-12-23 15:05:10 · 491 阅读 · 0 评论 -
LINUX修改path环境变量
LINUX修改path环境变量一、修改配置文件的方法(一)修改系统级的PATH环境变量1,in your /etc/profile,data:export PATH=$PATH:/path1:/path2:/pahtn2,run:source ./etc/profile(二)、修改用户级别的PATH环境变量先进入用户目录:#cd /home/data#vi .bash_profile或者.profileadd ...save# source .bash_profile其实都差.原创 2020-12-22 08:37:56 · 338 阅读 · 0 评论 -
macOS BigSur下无法在根目录创建文件夹解决方法
macOS BigSur下无法在根目录创建文件夹解决方法1,创建一个可达的目录 比如/System/Volumes/Data/data2.编辑/创建/etc/synthetic.conf加入data /System/Volumes/Data/data(中间是tab)这样就在根目录创建了一个data 目录sudo vim /etc/synthetic.conf内容 data/System/Volumes/Data/data注:以上代码主要是解决升级mac系统根目录在...原创 2020-12-22 08:35:33 · 1667 阅读 · 0 评论 -
lInux下curl的GET、POST使用
经常使用linux的同学会发现有时使用浏览器url调试不如使用linux下的curl命令请求来的方便快一些,下面是在命令行界面下curl的使用:带上-v参数-v参数可以显示一次 http 通信的整个过程,包括端口连接和 http request 头信息curl -v https://weixin.shangdatong.com/weichat/message?id=48...原创 2019-10-22 06:48:38 · 512 阅读 · 0 评论 -
世界顶尖PHP站Facebook后台技术探秘
Hadoop and HiveHadoop的是一个开源的map-reduce实现,使得它可以在进行大数据上进行运算。 Facebook的使用这个进行数据分析(而我们都知道,Facebook已经大量的数据)。 Hive就是发源于Facebook,使得对于Hadoop使用的SQL查询成为可能,从而是其更容易对非程序员使用。Hadoop和Hive是开源的(Apache项目),有为数众多的追随者,例如雅虎和Twitter。ThriftFacebook使用的几种不同的语言和不同的services。 PHP是最终用于前转载 2011-05-31 09:05:00 · 1048 阅读 · 0 评论 -
解决TCP网络传输“粘包”问题
<br />当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP和UDP。其中TCP(transport controlprotocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user datagramprotocol,用户数据报协议)是无连接的,提供高效率服务。在实际工程应用中,对可靠性和效率的选择取决于应用的环境和需求。一般情况下,普通数据的网络传输采用高效率的udp,重要数据的转载 2011-01-30 12:27:00 · 1013 阅读 · 0 评论 -
Socket开发流程
下面简单介绍一下以socket编程的server程序和client 程序的一般处理流程:server端:<br /> 1、通过socket()函数向系统申请一个套接字; 一般用法:socket(AF_INET , SOCK_STREAM , 0 ) ; 其中AF_INET SOCK_STREAM 为系统定义的常量,指明了所需套接字的用途。<br /> 2、调用bind()函数为该次通讯定义一个侦听端口号<br /> 3、调用listen()函数侦听可能的请求 4、组织循环,处理收到的每一笔请求:原创 2011-01-29 17:52:00 · 959 阅读 · 0 评论 -
string.h源码
<br />strstr ( )/* -- C语言库函数源代码 - */ /* 得到s1中第一次包含s2字符串的位置指针。*/#include <stdlib.h>char * my_strstr(const char *s1,const char *s2){ if (*s1 == 0) { if (*s2) return (char *) NULL; return (char *) s1;原创 2011-01-21 10:15:00 · 2801 阅读 · 0 评论 -
STL中map用法详解
<br />Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。<br />下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就转载 2011-01-21 12:58:00 · 508 阅读 · 0 评论 -
C语言库函数学习
<br /><string.h>标准库<string.h>1 复制 char* strcpy (char *s1, const char *s2);将字符串s2复制到s1指定的地址 char* strncpy (char *s1, const char *s2, size_t len);void* memcpy (void *s1, const void *s2, size_t len);将s2的前len个字符(字节)复制到s1中指定的地址, 不加'/0' vo原创 2011-01-21 10:14:00 · 720 阅读 · 0 评论 -
libavformat/libavcodec 学习
<br /><br />为什么需要两个库文件 libavformat 和 libavcodec :许多视频文件格式(AVI就是一个最好的例子)实际上并没有明确指出应该使用哪种编码来解析音频和视频数据;它们只是定义了音频流和视频流(或者,有可 能是多个音频视频流)如何被绑定在一个文件里面。这就是为什么有时候,当你打开了一个AVI文件时,你只能听到声音,却不能看到图象--因为你的系统没有 安装合适的视频解码器。所以, libavformat 用来处理解析视频文件并将包含在其中的流分离出来,转载 2011-01-20 13:13:00 · 1116 阅读 · 0 评论 -
RTP&&RTCP解释
<br />RTP协议是real-time transport protocol的缩写,被设计来传输流媒体数据,有着广泛的应用,其它相关介绍自己去看RFC,我不打算讨论这些无聊的概念性的东西。<br /> (1)了解RTP<br /> 可以说,RTP协议不依赖于底层协议,也就是说,它是独立的协议。而一般的,由于UDP包的快速、时实性高的特点,它通常和UDP结合在一起,作为UDP的上层载体数据的形式传播。<br /> typedef struct { <br />IN OUT UINT原创 2011-01-20 10:33:00 · 899 阅读 · 0 评论 -
分布式中型文档存储系统MongoDB基础概念
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言原创 2011-07-24 10:42:49 · 1325 阅读 · 0 评论 -
sphinx搜索集群搭建示例(多产品)
每个产品项目分配一个搜索配置,每个配置分不同的数据库或端口区分不同的产品,每个配置启动一个守户进程配置文件project1_csft.conf示例:#Test sourcesource test_main{ type = mysql sql_host = 192.168.1.100 sql_user原创 2011-12-16 15:35:46 · 2974 阅读 · 0 评论 -
Linux下安装swoole时生成swoole.so已经生成但用phpinfo中查不到扩展的处理方式
有时php的扩展模块(swoole.so)我们虽然生成了,重新启动php-fpm会发现在phpinfo并未加载成功,在启动php-fpm时出现如下提示:问题就出在图中红色框中所示,我们看到swoole的编译版并未带debug模式,而我们php安装的当前版本是带debug模式的,我们只要将swoole和php重新编译改成一样的就可以,要么都带debug要么都不带,因为php编译相当麻烦一些,我们可以用如下方式重新编译原创 2017-04-16 09:23:14 · 4087 阅读 · 0 评论 -
Linux(mac) 系统 ssh 不能生成key错误处理
/etc/ssh/ssh_host_dsa_key, 我没有这个文件more /etc/ssh/sshd_config 所有项前面都是#试着改变一些,并重启inetd无效看来不是大多数网友的那些配置问题前面主要想自动生成这个文件,失败又查了一下手册%ssh-keygen -t dsa一路回车, 默认有个钥匙对放到了 ~/.ssh/id_dsa#cp ~/.ssh原创 2012-12-26 22:19:34 · 1537 阅读 · 0 评论 -
MAC OS 搭建PHP开发环境
启动Apache运行PHP安装MySQL使用phpMyAdmin配置PHP的MCrypt扩展库设置虚拟主机启动Apache 有两种方法:打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”打开“终端(terminal)”,然后(注意:sudo需要的密码就是系统的root转载 2012-11-16 13:34:20 · 4751 阅读 · 0 评论 -
如何去掉linux源文件里面的^M符号简单方法
tr -d '\r' /data/etc/sphinx.confbak原创 2012-05-17 17:08:33 · 905 阅读 · 0 评论 -
putty 无法连接ubuntu的问题
查看ssh是否已安装,如未安装执行:sudo apt-get install openssh-server然后确认sshserver是否启动了:ps -e |grep ssh如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。ssh-server配置文件位于/ etc/原创 2012-05-16 07:18:53 · 1531 阅读 · 0 评论 -
ubuntu下挂载u盘终端命令简单方法
将usb盘插入机器fdisk -l 查看一下usb盘驱动器标识一般为sdb sdc什么的,再执行如下命令操作挂载即可sudo mount /dev/sdb /mnt/usb *将/mnt/usb目录挂载到/dev/sdbsudo mkdir /mnt/usbsudomount -t vfat /dev/sdb原创 2012-05-16 07:04:37 · 6835 阅读 · 0 评论 -
如何安装和卸载grub(补充Ubuntu 11.04恢复grub的方法)
用ghost全盘恢复ubuntu 11.04的镜像后,需要重新做grub。用Ubuntu liveCD启动后,发现执行grub根本没用!下面给出解决方案:首先打开终端,输入:sudo sufdisk -l(这个时候观察一下你的硬盘的分区情况,到底是sda还是sdb还是hda,然后找到主分区,比如是sda1,假设你没有把boot单独分区)mount /dev/sda1 /mn原创 2012-05-12 20:50:33 · 7803 阅读 · 0 评论 -
Linux管理常用命令
1)常用查看某个命令的路径which:查看某个命令的路径,该命令在PATH变量配置的路径中寻找命令,并给出第一个查询结果返回 查看用户信息的几种方法fingeridgroups 删除目录果目录为空,可以用 rmdir 删除 如果目录不为空,可以用rm -rf 删除 创建符号链接(快捷方式)ln -s {target-filename} {symb原创 2011-12-18 13:12:31 · 2569 阅读 · 0 评论 -
SSH error:a public key file has not been specified by this session
<br />可能是SSH客户端没有开启密码验证,或者SSH服务端不允许密码验证。<br />服务端开启密码验证的方法:修改/etc/ssh/sshd_config的PasswordAuthentication项为yes,重启服务($service sshd restart)原创 2010-12-21 12:18:00 · 12193 阅读 · 0 评论 -
设置vim语法高亮显示和自动缩进
vim号称类unix系统中的编辑利器,是Linux下一款很好用的编辑器,排在emac之后。因此值得好好研究一下<br />首先谈下vim的安装,建议安装vim7.0以上,因为我在后面装插件的时候找不到对应vim6.0包。<br />安装其实很简单,下载源代码包(vim-7.2.tar.bz2)下载地址:ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2<br />解压:tar xjvf vim-7.2.tar.bz2 编译 make 安装 make install,原创 2010-12-09 11:02:00 · 1118 阅读 · 0 评论 -
Bash下显示history记录的命令的执行时间
<br />编辑/etc/bashrc文件(或者/etc/profile),加入如下几行: HISTFILESIZE=2000HISTSIZE=2000HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " export HISTTIMEFORMAT<br /> <br />执行一下source即可<br />source /etc/bashrc原创 2010-08-22 06:43:00 · 679 阅读 · 0 评论 -
Linux crontab 命令格式与详细例子
基本格式 :* * * * * command分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /usr/local/etc/rc.d/li原创 2010-04-08 15:25:00 · 692 阅读 · 0 评论 -
流媒体CDN解决方案
创智数码科技股份有限公司一直专注于流媒体领域的增值业务应用软件开发,致力于为流媒体服务运营商提供一流的、专业的视频应用软件和流媒体整体解决方案。 以多年的流媒体服务软件开发经验为背景,总结了多次省级电信运营级流媒体项目的建设经验,深入、前瞻性的分析了流媒体业务当前和未来的业务需求。创智数码科技股份有限公司推出了以高性能银鲨流媒体服务器为核心,面向电信运营商的PowerSSP转载 2010-03-20 18:46:00 · 2904 阅读 · 0 评论 -
linux 下svn版本库备份方法
mkdir -p /usr/local/svn/to/bakcup/usr/local/svn/bin/svnadmin hotcopy /usr/local/svn/repos/test /usr/local/svn/to/bakcup --clean-logs 详细请参考svn 手册:http://wenku.baidu.com/view/7c4617791711c原创 2010-03-15 10:20:00 · 1938 阅读 · 0 评论 -
svn import 时出现类似 svn: Error converting entry in directory '/home/data/test/dev_test_com/include' to UTF-8 的解决方法
该问题原因是/home/data/test/dev_test_com/include 目录中包含中文的文件名造成的,将中文件文件名删除,再执行/usr/local/svn/bin/svn import (要导入版本库的数据)/home/data/test/dev_test_com file:///usr/local/svn/repos/test -m "Initial import"原创 2010-03-15 09:15:00 · 11117 阅读 · 0 评论 -
SVN commit或import时出现 can't open file 'txn-current-lock' permission denied 的原因及解决方法
配置svn+apache服务器时,在导入或提交时,如果是win、unix、linux、mac os x等系统可能遇到类似这样的权限问题: svn: 提交失败(细节如下): svn: cant open file txn-current-lock permission denied或者svn: 提交失败(细节如下): svn: Cant create directory原创 2010-03-15 08:49:00 · 17441 阅读 · 1 评论 -
linux下配置subversion
软件包:httpd-2.23下载地址http://apache.justdn.org/httpd/httpd-2.2.3.tar.gzapr-1.27apr-util-1.27http://apache.justdn.org/apr/,版号自已找,最好和我的所提供的版本号一样Oracle Berkeley DB 4.0.14下载地址http://download.oracle.com/berkel原创 2010-03-14 20:44:00 · 847 阅读 · 0 评论 -
linux下apr安装方法
1。解压缩apache包进入apr所在目录2。编译安装apr即可 cd /usr/src/httpd-2.2.11/srclib/apr./configure --prefix=/usr/local/aprmakemake install原创 2010-03-13 17:31:00 · 16380 阅读 · 1 评论 -
svn 安装过程出现/usr/bin/ld: cannot find -lexpat collect2: ld returned 1 exit status make: *** [subversion/svn/svn] Error 1 解决方法
安装expat及expat-devel包即可解决,重新编译安装svn即可原创 2010-03-14 15:03:00 · 5915 阅读 · 0 评论 -
linux svn常用命令
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的php文件) 3、将改动的文原创 2010-03-14 13:55:00 · 630 阅读 · 0 评论 -
linux 下编辑 vi /etc/bash.bashrc
通过编辑linux的/etc/bash.bashrc文件来快速定位各个目录alias mysqlw="mysql -uroot -p123456"alias usr="cd /usr/local"alias src="cd /usr/src"alias sphinx="cd /usr/local/sphinx"alias apahce="cd /usr/local/apa原创 2010-03-13 15:48:00 · 4448 阅读 · 0 评论 -
linux svn up 中文显示乱码解决办法
vi /etc/sysconfig/i18n#LANG="en_US.UTF-8"#LANG=zh_CN.GB18030#LC_ALL=zh_CN.GB18030#SYSFONT="latarcyrheb-sun16"LANG="zh_CN.UTF8"LANGUAGE="zh_CN.UTF8:zh_CN"SUPPORTED="zh_CN.UTF8:zh_CN:zh:原创 2010-04-13 09:10:00 · 7721 阅读 · 0 评论 -
linux mysql下 从 max_connections 的实验带来的思考
php没有数据库连接池的概念,一般情况下程序中使用mysql_connect()连接数据库,在php脚本执行完毕之后进程会释放掉连接资源所占的内存。访问每个php网页都会出现一个解析脚本的进程,那么数据库服务端也会出现一个connect连接。当然前提是只有一个数据库设计的系统。在高并发高流量的情况下,基于数据库驱动的应用系统很容易出现瓶颈,这个瓶颈首先就是max_connections,即数据库原创 2010-04-03 18:35:00 · 3210 阅读 · 0 评论 -
linux date日期输出格式
<br />#!/bin/bash#DATE=`date+%y-%m-%d-%H`DATE=`date -d today +"%Y-%m-%d"`#echo $DATEmysqldump -uXXXX -pXXXX test > /tmp/db_backup/test$DATE.sql;<br />[root@108test ~]# date -d today +"%Y-%m-%d" 2008-05-07[root@108test ~]# date -d today +"%Y_原创 2010-08-22 09:54:00 · 9052 阅读 · 0 评论 -
Linux延长SSH连接时间设置
<br /> Linux下连接SSH服务器刚刚离开一会就断开,不得不需要反复连接服务器, 为了使SSH服务器可以保持<br />足够的连接时间,大家可以按以下方法设置:基于安全的理由,如果用户连线到 SSH Server 后闲置,SSH <br />Server 会在超过特定时间后自动终止 SSH 连线。以下是设定终止连线时间的方法:<br /><br />1、打开 /etc/ssh/sshd_config 文件,找到一个参数为 ClientAliveCountMax,它是设定用户端的 SSH <b原创 2010-08-22 09:07:00 · 3463 阅读 · 0 评论