linux中开启了allow_url_fopen仍然无法使用file_get_contents获取url内容
作者:大鹏 发布于:2013-7-16 19:40 Tuesday
分类:Unix & Linux
标签: php linux lnmp
file_get_contents函数多用来于来采集远程服务器上的内容,但使用file_get_contents函数之前我们在php.ini中是必须把allow_url_fopen开启才行。
问题描述
fopen(),file_get_contents(),getimagesize() 等都不能正常获得网络上的内容,具体表现为凡参数是URL的,一律返回空值
如果是windows可找开
allow_url_fopen开启
如果是否linux中可以
重新编译PHP,去掉–with-curlwrapper 参数——编译前记得先执行 make clean。
ubuntu通过adb shell 连接android手机问题解决办法
作者:大鹏 发布于:2013-7-13 11:00 Saturday
分类:Unix & Linux
标签: android ubuntu
在ubuntu,打adb shell后出现insufficient permissions for device错误
解决办法:用root权限:
sudo -s ./adb kill-server ./adb devices
Mustache.js语法
作者:大鹏 发布于:2013-7-6 1:11 Saturday
分类:JavaScript与HTML
标签: javascript
1.简单的变量调换:{{name}}
var data = { "name": "Willy" }; Mustache.render("{{name}} is awesome.",data);
返回成果 Willy is awesome.
2.若是变量含有html的代码的,例如:<br>、<tr>等等而不想转义可以在用{{&name}}
var data = { "name" : "<br>Willy<br>" }; var output = Mustache.render("{{&name}} is awesome.", data); console.log(output);
javascript URL解析
作者:大鹏 发布于:2013-6-18 23:13 Tuesday
分类:JavaScript与HTML
标签: javascript
/** *@param {string} url 完整的URL地址 *@returns {object} 自定义的对象 *@description 用法示例:var myURL = parseURL('http://abc.com:8080/dir/index.html?id=255&m=hello#top'); myURL.file='index.html' myURL.hash= 'top' myURL.host= 'abc.com' myURL.query= '?id=255&m=hello' myURL.params= Object = { id: 255, m: hello } myURL.path= '/dir/index.html' myURL.segments= Array = ['dir', 'index.html'] myURL.port= '8080' myURL.protocol= 'http' myURL.source= 'http://abc.com:8080/dir/index.html?id=255&m=hello#top' */ function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.hostname, port: a.port, query: a.search, params: (function(){ var ret = {}, seg = a.search.replace(/^\?/,'').split('&'), len = seg.length, i = 0, s; for (;i<len;i++) { if (!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret; })(), file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1], hash: a.hash.replace('#',''), path: a.pathname.replace(/^([^\/])/,'/$1'), relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''])[1], segments: a.pathname.replace(/^\//,'').split('/') }; }
PHP的垃圾回收机制及session的销毁原理
作者:大鹏 发布于:2013-1-7 0:07 Monday
分类:PHP&MySql
标签: php
虽然自己也是PHP的学习者,但之前还真没怎么了解PHP内部的垃圾回收流程,只是在我们的代码中用了 unset,null,mysql_close,__destruct等等一些函数去释放对象防止内存溢出而已,所以上网GG下,找到了以下一些说明,作 下记录“PHP可以自动进行内存管理,清除不再需要的对象。PHP使用了引用计数(reference counting)这种单纯的垃圾回收(garbage collection)机制。每个对象都内含一个引用计数器,每个reference连接到对象,计数器加1。当reference离开生存空间或被设为 NULL,计数器减1。当某个对象的引用计数器为零时,PHP知道你将不再需要使用这个对象,释放其所占的内存空间。”
每一种计算机语言都有自己的自动垃圾回收机制,让程序员不必过分关心程序内存分配,php也不例外,但是在面向对象编程(OOP)编程中,有些对象需要显式的销毁;防止程序执行内存溢出。
office 相关文件读取整理
作者:大鹏 发布于:2013-1-4 14:07 Friday
分类:Asp.Net 2.0
标签: excel adodb
在用ODBC读取DPF、Excel(2003/2007)、txt,db等文件时,存在各种问题。
如用VFP读取DPF文件时,32位系统是正常读取,但是在64位系统下,程序如果采用64位,则不能正常读取。
读取Excel文件时,如果采用Microsoft.Jet.OLEDB 方式,还要在程序中区分Excel2007 和Excel2010等方式,十分麻烦。
在网上找了下,找到Microsoft Access Database Engine 驱动,他可以方便的读取dpf,excel,access,txt 等文件,而且在64位系统下也能正常运行。
Excel 文件读取
string driver = "{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}"; string strConn = string.Format("DRIVER={1};DBQ={0};", filePath, driver); OdbcConnection conn = new OdbcConnection(strConn);
上面的代码可以正常运行在32/64位机器上。
DPF 文件读取
string connStr = "Driver={Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)};DBQ=" + dir; OdbcConnection conn = new OdbcConnection(connStr);
上面的代码可以正常运行在32/64位机器上。
采用这两种驱动方式需要安装Microsoft Access Database Engine。
下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=13255
新浪微博API升级到2.0了
作者:大鹏 发布于:2012-12-25 0:50 Tuesday
分类:PHP&MySql
标签: API
新浪微博API升级到2.0了,之前1.0的OAUTH已经无法使用,修改了一下登录的接入代码:
include_once( 'saetv2.ex.class.php' ); $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY ); $o->set_debug( DEBUG_MODE ); // 生成state并存入SESSION,以供CALLBACK时验证使用 $state = uniqid( 'weibo_', true); $_SESSION['weibo_state'] = $state; $code_url = $o->getAuthorizeURL( WB_CALLBACK_URL , 'code', $state );
获取登录用户信息的代码:
include_once( 'saetv2.ex.class.php' ); $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] ); $c->set_debug( DEBUG_MODE ); $ms = $c->home_timeline(); // done //var_dump($ms); $uid_get = $c->get_uid(); $uid = $uid_get['uid']; $user_message = $c->show_user_by_id( $uid);//根据ID获取用户等基本信息 var_dump($user_message); ?>
Google Plus竟然变身成为论坛了
作者:大鹏 发布于:2012-12-21 17:31 Friday 分类:网络资源
今天上Google Plus后竟然发现之前的google plus竟然变成论坛的形式了。
SNMP获取Cisco设备信息
作者:大鹏 发布于:2012-8-31 9:52 Friday
分类:个人收藏
标签: snmp cisco
php 5.4.5编译问题
作者:大鹏 发布于:2012-8-9 8:48 Thursday
分类:Unix & Linux
标签: php apache mysql linux
以下是我编译php5.4.5的配置参数(环境:CentOS 6.3, MySql 5.5.25a, apache 2.4.2 所有版本都是目前最新的):
./configure --prefix=/usr/local/php5/ --with-config-file-path=/usr/local/php5/etc/ \ --with-apxs2=/usr/local/apache2/bin/apxs --with-mcrypt=/usr/local/libmcrypt/ \ --enable-soap --enable-mbstring=all --enable-sockets \ --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \ --with-libxml-dir=/usr/local/libxml2/ \ --with-gd --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/
Log4net使用指南
作者:大鹏 发布于:2012-6-20 16:02 Wednesday
分类:Asp.Net 2.0
标签: log4net
几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。
经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。
Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。
NetworkStream 读取数据不完整问题
作者:大鹏 发布于:2012-6-7 16:20 Thursday 分类:Asp.Net 2.0
今天写了个发送和读取http站点数据的程序,使用TcpClient的NetworkStream读取数据,但是经常性会出现读取数据不全的现象。单步调试时基本上每次都正常,但是实际应用时就会出现读取到的数据不完整。
弄了一天,还是没有找到更好的解决办法。
private void Forward(object obj) { int requestsize = 4096; string log = ""; try { TcpClient client = (TcpClient)obj; NetworkStream s = client.GetStream(); int i = 0; byte[] buff = new byte[requestsize]; TcpClient server = new TcpClient("127.0.0.1", 8080); NetworkStream cs = server.GetStream(); i = s.Read(buff, 0, buff.Length); cs.Write(buff, 0, i); log += "Request:" + Encoding.Default.GetString(buff, 0, i); buff = new byte[requestsize]; i = cs.Read(buff, 0, buff.Length); s.Write(buff, 0, i); log += "\r\nResponse:" + Encoding.Default.GetString(buff, 0, i); cs.Close(); //s.Close(); server.Close(); client.Close(); Log(log); } catch (Exception ex) { Log("Forward", ex); } }
ChangeConflictException:Row not found or changed 找不到行或行已更改
作者:大鹏 发布于:2012-5-11 17:25 Friday
分类:Asp.Net 2.0
标签: linq
1.比较简单的方法,不使用Linq提供的SubmitChanges()方式提交更改,而直接执行SQL语句,例
db.ExecuteCommand("Update [dbo].[LinqTest] SET Age=25 Where ID = @p0", 1);
这样虽然比较方便,但是感觉又回到了直接写SQL的时代,毕竟Linq to SQL的目的,就是为了让我们看不见SQL,避免写复杂的SQL语句,而直接操作实体对象,这样也可以避免程序可读性差、不便于维护。所以除非万不得已,还是不太推荐使用此方法。unix 常用系统信息命令
作者:大鹏 发布于:2012-4-18 13:55 Wednesday
分类:Unix & Linux
标签: unix shell command
输出工作目录。举例,在屏幕上显示我当前所在的目录
hostname
输出本地主机的名称(我正在使用的这一台机器)。使用netconf修改机器的名称(要求超级用户权限)
whoami
输出我的登录名称
id username
输出用户标识ID(UID)和其对应的用户组标识ID(GID),有效的ID(如果不同于真正的用户ID)和所属的其他用户组
date
输出操作系统的当前日期,时间和时区。如果要以ISO标准格式输出,我必须使用命令“date –Iseconds”。
我可以修改当前的日期和时间到2003-12-31 23:57,使用命令:date 123123572003。或者使用两个命令(比较容易理解和记住):
date –-set 2003-12-31
date –set 23:57:00
如果要重新设置硬件时钟(BIOS),可以使用命令setclock,要求超级用户权限。
time
侦测一个进程所需要的时间加上其他处理的时间的总和。不要和上面提到的date命令混淆。比如,我可以使用命令“time ls”来判断显示一个目录需要多长时间;或者我可以使用命令“time sleep 10”来测试time命令(睡眠10秒钟,什么也不做)。
clock
(两个命令中的一个)从计算机的硬件(由电池供应的实时的硬件时钟)获得日期/时间。你可以使用这个命令来设置硬件时钟,但是setclock可能简单一些(看前面的两个命令)。举例:“hwclock –systohc –utc”命令把系统时钟设置到硬件时钟(以UTC格式)。
who
显示登录在系统里的用户
w
显示登录在系统里的用户,检查他们正在做什么以及他们的处理器使用状况。属于常用的安全方面的命令。
在solaris下面发送ORACLE Alert信息邮件的脚本
作者:大鹏 发布于:2012-4-16 21:02 Monday
分类:Unix & Linux
标签: mail solaris send
#!/bin/ksh #----------------------------------------------------------------------- # PROGRAM: CheckAlertLog.ksh # USAGE: CheckAlertLog.ksh # FUNCTION: Checks ORACLE Alert logs and pages in case of # any new errors. SID is Oracle database identifier. # CALLED BY: cron # # CASCADE FILES: $LIBDIR/pagers.txt $LIBDIR/dbinfo.txt $LIBDIR/oraErrCount_${SID} # AUTHOR Rochael Zhang # Date Mon Apr 16 18:01:56 PDT 2012 #-----------------------------------------------------------------------
bshell学习资料
作者:大鹏 发布于:2012-4-16 11:55 Monday
分类:Unix & Linux
标签: unix shell
梦回 BBS 时期的 Google 搜索
作者:大鹏 发布于:2012-4-16 8:24 Monday
分类:网络资源
标签: google
如果你从上个世纪就开始上网,那么肯定会对BBS这个东西很有感情(我说的是传统意义上的Bulletin Board Systems,而非现在变形过来的论坛)。一位怀旧开发者Norbert Landsteiner就利用Javascript和HTML技术制作了这么一个复古的BBS形式的Google搜索首页,具备“收起不错”和搜索功能,所有界面都由彩色的ASCII代码描绘。
Sony 的 SmartWatch 在米国上市,150 美刀
作者:大鹏 发布于:2012-4-15 14:19 Sunday
分类:手机
标签: android sony
Sony 今天宣布 SmartWatch,他们“Smart Extras(智能配件)”系列的首款产品,现已在其在想商店上架销售。SmartWatch 与你的 Android 智能手机通过蓝牙相连接,并托送文件、电子邮件以及电话通知等到你的手腕端,让你快速方便的掌握相关信息。SmartWatch 还带有 Facebook、Twitter、Gmail、天气小部件,然后还有音乐播放器,并且可以与很多最新的 Android 应用相兼容。Sony 称开发者还可以创建针对该产品 1.3 英寸 OLED 显示屏的 SmartWatch 专用应用。
SmartWatch 还防尘和防水,价格为 149.99 美刀,有粉红、白色、薄荷、灰色、蓝色腕带可选。这个产品的功能是否对得起它的价格还有待验证,不过相信 SmartWatch 对于一些用户来说是很有用处的,另外如果能吸引到开发者的话,那么它可能会变得更有用处。
一款基于 Android 的专业电子乐器 Miselu Neiro Keyboard
作者:大鹏 发布于:2012-3-29 13:47 Thursday
分类:手机
标签: android
有很多专业的电子音乐设备都是基于 Apple(苹果)的 Mac 或者 iOS 设备的,不过现在 Android 也延向这一领域了。Retronyms 公司推出了一款基于 Android 的电子键盘乐器 Miselu Neiro,它不仅基于 Android 还结合了专业音乐制作应用。
这款产品带有 25 个琴键以及一个显示器,可以运行专门的应用并通过键盘来演奏。Retronyms 之前是一家 iOS 应用开发商,他们给 iOS 设备带来了一些专业的应用,儿现在他们也准备采用 Android 系统,应该会给 Android 用户也带来很多独特的产品。
这款键盘乐器带有两个 MIDI 端口,两个 USB 接口,一个 HDMI 端口,音频输入/输出 RCA 以及一个 SD 卡插槽,你可以插入任意标准的 MIDI 键盘或者带有 MIDI 输出的合成器以及电子琴等。该产品将采用 Yamaha(雅马哈)的 NSX-1 音频芯片,可以给用户带来逼真和精细的声音。后面有一个宣传视频,有兴趣的读者可以看看。
继续观看视频:
Audio Evolution DAW for Android 发布
作者:大鹏 发布于:2012-3-29 13:32 Thursday
分类:手机
标签: android
Audio Evolution Mobile for Android 发布!这是一款融合多轨音频与非线性编辑、混音、实时效果等功能的应用的 Android 应用,可在 Android 手机和平板上使用(需要满足配置要求,分辨率 800×480 或更高)。可以单独使用也可以与 AE5 for Windows/OSX 组合使用!