php运行cli文件载入路径错误解决

cli模式执行php文件都是使用绝对路径执行的,所以如使用require来加载文件就会出错。crontab定时执行一样。

1、要么全部改成绝对路径。

2、使用chdir函数,改变当前执行目录,把目录改为文件所在目录,代码前面执行:chdir(dirname(__FILE__));

运行成功!

 

发表在 开源代码 | 标签为 | 留下评论

CentOS下PHP安装SSH2扩展

需要的依赖库

openssl: 加密算法集合,C语言实现
libssh2: ssh2协议库库,C语言实现
PECL/ssh2: libssh2的php扩展,允许php程序调用libssh2中的函数
依赖关系:PECL/ssh2 –> libssh2 –> openssl

安装需要的扩展包

安装libssh2
wget https://www.libssh2.org/download/libssh2-1.7.0.tar.gz
tar zxf libssh2-1.7.0.tar.gz  
cd libssh2-1.7.0  
./configure && make && make install  

安装PECL/ssh2
wget http://pecl.php.net/get/ssh2-0.13.tgz
tar zxf ssh2-0.13.tgz
cd ssh2-0.13
/usr/local/php/bin/phpize   (生成configure文件,命令根据php具体路径)  
./configure --with-ssh2 --with-php-config=/usr/local/php/bin/php-config && make && make install

修改php配置信息

在php.ini  
添加项:extension=ssh2.so

重启php

/etc/init.d/php-fpm restart 根据实际环境重启

php -m查看是否加载ssh2模块

发表在 服务器 | 标签为 , | 留下评论

php5.3以上版本htmlspecialchars中文为空

htmlspecialchars作用是把预定义的字符 “<” (小于)和 “>” (大于)转换为 HTML 实体:

php5.3以上版本中htmlspecialchars默认变成utf-8!中文使用这个函数就输出为空白了。

只有指定参数给它:$str = htmlspecialchars($str, ENT_COMPAT ,‘GB2312’);

不为何使用GBK是不可以的,只有使用GB2312才会输出。

附带:

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars($str, ENT_COMPAT); // 只转换双引号
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // 转换双引号和单引号
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // 不转换任何引号
?>

以上代码的 HTML 输出如下(查看源代码):

<!DOCTYPE html>
<html>
<body>
Bill &amp; 'Steve'<br>
Bill &amp; &#039;Steve&#039;<br>
Bill &amp; 'Steve'
</body>
</html>
发表在 开源代码 | 标签为 | 留下评论

iis6修改默认framework版本

由于版本比较久,所以更改为2.0+以上framework比较通用,这样就不需要每次建立新站点的时候修改默认framework的版本的了。

在确保已经安装两个以上的.NET版本后,如果看到ASP.NET选项卡的ASP.NET版本为灰色,不能下拉,在cmd命令行窗口下运行命令下

C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i

其中红色部分为你要设为默认的ASP.NET版本号,根据自己的情况设置。运行完毕后iis6默认的framework版本就是v2.0.50727的了。
修改iis6网站默认framework版本

发表在 服务器 | 标签为 | 留下评论

IIS7配置YII2的url重写规则

安装个yii2.0.9玩玩,网上一搜索竟然没有iis的配置方法,见鬼了难道没人用iis了,只能靠自己摸索了,首先要安装我之前写的:IIS7.5伪静态URL_rewrite模块,接着再yii2对应的项目web目录下创建web.config,把一下内容复制进去即可,配置分享如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
 <rewrite>
 <rules>
                <rule name="YII2">
                    <match url=".*" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php?r={R:0}" />
                </rule>
  
 </rules>
</rewrite>
   </system.webServer>  
</configuration>
 </system.webServer>
 </configuration>
发表在 开源代码 | 标签为 | 留下评论

YII2修改默认控制器的方法

安装好yii2.0.9后在/vendor/yiisoft/yii2/web/Application.php的第28行找到了:

public $defaultRoute = ‘site’;

可以不修改框架源码,直接修改配置文件在\yii2\frontend\config\main-local.php的$conifg=[] 里添加了一行代码: ‘defaultRoute’ => ‘index’, 。

然后刷新试试看!

发表在 开源代码 | 标签为 | 留下评论

Yii2.0创建多项目目录方法

默认的高级应用模板包括三个应用

backend – 应用的后台

frontend – 应用的前台

console – 应用的控制台应用

那么如果我们要在增加应用呢?比如在加一个手机端的应用,或者后台和前台应用的名字需要修改。

那么现在就来再增加一个名字为mobile的子应用。

在frontend同目录新建一个名为mobile文件夹.

然后呢把frontend目录下面的东西全拷贝到mobile目录里面

这一步就是修改路径了,修改web目录index.php的包含路径,还有config/main.php的包含路径

修改config/main.php配置项controllerNamespace为mobile\controllers

最后就是加一个别名了,例子可以看common/config/bootstrap.php的写法,

这里我们不改这个全局文件,当然在这里改也行,我们在/config/bootstrap.php文件添加。

Yii::setAlias(‘@mobile’, dirname(dirname(__DIR__)) . ‘/mobile’);
至此,我们的应用mobile就可以正常访问了,记得目录里的其它各个文件的命名空间声明和引入你要改为由frontend改为mobile。

同理你可以新建无数个,还可可以把默认的三个应用重命名为你想要的名字。

发表在 开源代码 | 标签为 | 留下评论

linux卸载磁盘umount 的时候报错:device is busy

centos例如挂盘目录是/data/

执行[root@abc~]# fuser -m /data
/data:               26962c

直接kill -9或者ps 查看后再kill 知道一个锁定的它的程序都没有

然后就可以卸载了

发表在 服务器 | 标签为 | 留下评论

centos6.5安装nodejs

这里安装的是官方维护版本,安装网络维护版需要安装gcc4.8,就不折腾了,到 wget http://nodejs.org/dist/找了个最新版地址http://nodejs.org/dist/v0.12.9/node-v0.12.9.tar.gz
1. 查看环境
1.1 gcc等c++编译器
    查看当前gcc版本信息
    #gcc -v
    显示:gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
    如果提示:bash: gcc: command not found,就是木有安装,执行如下命令安装gcc
    安装gcc:yum install gcc-c++
1.2 Python2.6以上
    查看当前python版本信息
    #python -V
    显示:Python 2.6.6
1.3 openssl-devel
    查看当前openssl版本信息
    #openssl version
  显示:OpenSSL 1.0.1e-fips 11 Feb 2013
———————————————————-
2. 安装nodejs
2.1 下载&解压
    #cd /usr/local/src
    #wget http://nodejs.org/dist/v0.12.9/node-v0.12.9.tar.gz
    #tar zxvf node-v0.12.9
2.2 编译安装
    #cd node-v0.12.9
    #./configure
    #make && make install
2.3 配置NODE_HOME
    #vi /etc/profile
    设置nodejs环境变量,在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:
    #set for nodejs
    export NODE_HOME=/usr/local/src/node-v0.12.9
    export PATH=$NODE_HOME/bin:$PATH
    :wq保存并退出,编译/etc/profile 使配置生效
    #source /etc/profile
    结果:v0.12.9
    
    安装成功!
悄悄地告诉你:
    下载好nodejs源码包,解压后,查看README.md,有详细的安装说明^_^
———————————————————-
3. 简单的例子:
3.1 新建一个js文件:test.js
    console.log(“this is a test for nodejs.”);
3.2 #node test.js
    输出:this is a test for nodejs.
———————————————————-
4. 基于nodejs创建一个web server:
4.1 新建一个js文件:web-server.js
    var http = require(‘http’);
    http.createServer(function (req, res) {
        res.writeHead(200, {‘Content-Type’: ‘text/plain’});
        res.end(‘Hello World\n’);
    }).listen(1888, ‘127.0.0.1’);
    console.log(‘Server running at http://127.0.0.1:1888/’);
4.2 启动server:
    #node web-server.js
    输出:Server running at http://127.0.0.1:1888/
    打开浏览器访问该地址,显示:Hello World
———————————————————-
5. nodejs调试
5.1 node-inspector + chrome
    安装node-inspector
    #npm install -g node-inspector
    安装chrome浏览器
5.2 启动调试
    启动node-inspector
    #node-inspector
    输出:
        Node Inspector v0.10.1
        Visit http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858 to start debugging.
    加载要调试的js脚本
    #node –debug test.js
    在chrome浏览器中访问http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858,开始调试
发表在 服务器 | 标签为 , | 留下评论

原创分享代码js判断浏览器是否手机端包括微信端

需要前端javascript判断是否手机端访问网页,基本都使用userAgent,包括了微端标识micromessenger,代码如下:

if(navigator.userAgent.match(/(iPhone|iPad|Android|ios|SymbianOS|Windows Phone|UC|Kindle|mobile|nokia|samsung|htc|BlackBerry|webOS|micromessenger)/i)){
 if(confirm("确定要跳转到手机端页面吗?"))
 {
 location.href = 'http://m.netpc.com.cn';
 }
}
发表在 开源代码 | 标签为 | 留下评论