Install GCC 4.9.3

#!/bin/bas# this script installs GCC 4.9.# to use it navigate to your home directory and type# sh install-gcc-4.9.3.s# download and install gcc 4.9.wget https://ftp.gnu.org/gnu/gcc/gcc-4.9.3/gcc-4.9.3.tar.gtar xzf gcc-4.9.3.tar.gcd gcc-4.9../contrib/download_prerequisitecd ..mkdir objdicd objdi../gcc-4.9.3/configure --prefix=$HOME/gcc-4.9.3 --enable-languages=c,c++,fortran,go --disable-... Read More

Got “our configuration does not allow connections to ” while using composer install

Got this message while using the composer install command[Composer\Downloader\TransportExceptionYour configuration does not allow connections to http://xxx.com:80/path/to/repo/repo-name-0.0.0.tar.gz. See https://getcomposer.org/doc/06-config.md#secure-http for details.Just run this commandcomposer config -g secure-http falsThen, go aheadReferrenc[1]. Latest Composer version not pulling Larav... Read More

Git之替换代码库HTTP(s)地址路径成Git协议路径

当使用glide install安装go的依赖包时,会提示[INFO] --> Fetching github.com/xxx/yyUsername for 'https://github.com'此时,可以使用git config --add参数进行地址替换,具体命令如下git config --global --add url."git@github.com:".insteadOf "https://github.com/"之后,再使用glide install安装依赖包时,会使用如下形式的命令进行下载代码git clone git@github.com:xxx/yyy.gi文章来源:胡小旭 => Git之替换代码库HTTP(s)地址路径成Git协议路径 Read More

小型网站架构降低 Apache 与 MySQL 内存占用比率

前言这是一篇极其没有营养的文章,那么请问“什么还要写?”,正所谓“不积跬步无以至千里,不积小流无以成江海”,难得学习与总结。而且,并不一定每篇文章都需要长篇大论、“看似高深”,最后网友看后毫无感觉。这篇文章以我的阿里云服务器为例(你眼前的博客正是搭在这个服务器上),阐述下小型网站(Linux+Apache+MySQL+PHP)对于内存利用率提升的配置方法的一个点。正文我的服务器是阿里云的,在一年前由于数据库(MySQL)频繁内存不足宕机就“潇洒”地升级了配置到2G内存。所以,目前机器的配置如下CPU: 1核内存: 2048 M操作系统: CentOS 6.5 32位公网IP: 115.28.36.1带宽计费方式: 按固定带宽当前使用带宽: 1Mbp同时,正常使用情况下的内存使用情况如下图中显示MySQL占用440m,Apache占用44m。当然,这是MySQL服务和Apache服... Read More

在 Linux 下通过 strace 与 lsof 命令排查 PHP 异常进程

在有些时候,会遇到PHP进程异常卡死的情况。面对这种情况,首先考虑到的就是分析代码进行优化改进,或者重启进程。但是,这种方式来排查不一定能找到根本原因。因为有些时候异常PHP进程卡死的原因可能是非常奇葩的问题,比如外部资源异常如DB、Redis与第三方API等。上一次关于超级话题签到提醒定时任务PHP进程异常的处理,问题竟然出现在外部的DB的链接上。由于网络原因导致读取DB没有响应卡死。这一次情况比较严重,超级话题积分系统的计算有一部分是通过Trigger(类似队列)接受全站数据进行积分计算与入库。由于用户反馈问题,来到队列机查看进程情况。如下$ ps -ef | grep Trigger | grep Commenwww 10693 1 7 16:06 ? 00:04:09 /usr/local/bin/php /path/cli.php request_uri=/Cli/Trigg... Read More

Linux 删除指定日期之前的文件

两种方法1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除。find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec rm -rf {} ;/email/v1_bak --设置查找的目录;-mtime +92 --设置时间为91天前;-type f --设置查找的类型为文件;-name *.mail[12] --设置文件名称中包含mail1或者mail2;-exec rm -f --查找完毕后执行删除操作;将此命令写入crontab后即可自动完成查找并删除的工作了。2. 或者用:find . -ctime +40 -type f | xargs rm -r1、编写清理日志脚本clear.s   #!/bin/sfind /opt/bak -mtime +6 -name "*.log" -exec rm {}... Read More

基于 libgit2 C 语言库的 php-git 扩展 fix bug 辛酸史

前言这是一篇极其没有节(nei)操(rong)的文章。除非你真的无聊,请不要阅读,否则后果自负正文最近,在忙活微博话题组的日构建工具。工具主要的功能并不算复杂。。。写着写着,外面雨过天晴,居然还放起爆竹了,什么鬼。构建工具的主要功能正如介绍中所述的那样,提取产品、测试等基本信息、提取版本库(git)信息、检查(编译)源文件、自动部署项目与发送邮件等。在提取git库信息时,相对于之前利用shell_exec PHP原生函数提取svn信息的方式,打算利用扩展来提取信息。一来更规范、更有效率(微乎其微),二来专业。缺点是相对而言部署环境麻烦,因为需要安装git扩展到当前php运行环境中来。但是,万万没想到官方推荐的php-git扩展库开发版本已有3年没有维护了。索性用吧,又能怎样。。。安装还算顺利,由于公司开发机没有cmake,yum源也不可用,懒得配置,直接download一套源码。cd /root/down/php-gi... Read More

Linux(CentOS)下开启 FTP 服务

环境:CentO安装FTP:yum install vsftp启动FTP:service vsftpd start(stop | status | restartFTP自启动:chkconfig --level 35 vsftpd o设置FTP权限(配置文件默认在/etc/vsftpd/vsftpd.conf关闭匿名登陆:anonymous_enable=N添加账户:useradd ftpadmin -s /sbin/nologin –d /www(初始进入的目录设置密码:passwd ftpadmi文章来源:胡旭个人博客 => 【原】Linux(CentOS)下开启FTP服务转载请注明出处,违者必究 Read More

微信支付 JSAPI 开发中的问题

前言:这篇文章讲的是利用微信官方提供的JSPAI接口,实现微信网页支付。希望在看之前,要确认一下几件事情,否则会让您在解决问题是很费解。① 接口文档版本号是V3.3(在官方提供的PHP DEMO中的README.txt文件中查看。当然,也可以参考压缩包的名字(wxm-payment-biz-api218f8e.zip,我想官方不会把不同版本的文档压缩成一个名字吧!)来确认版本;② 微信支付PDF文档的版本为V3.3.7(如果上述版本对了,这步应该也是一致的,因为这两个文件是在一个包里);③ 该文章说的是JSAPI的开发;今儿是工作的第五个工作日。前两天在调整页面,后两天在调整微信支付功能。今天是周日,工作周的第一天。调了两天的微信支付(JSAPI:调用微信JSAPI接口实现微信网页支付功能),经过今天早上的一分钟“努力”解决,感觉很爽。下面说说我在开发微信支付过程中遇到的若干问题。第一天,... Read More