cli模式执行php文件都是使用绝对路径执行的,所以如使用require来加载文件就会出错。crontab定时执行一样。
1、要么全部改成绝对路径。
2、使用chdir函数,改变当前执行目录,把目录改为文件所在目录,代码前面执行:chdir(dirname(__FILE__));
运行成功!
cli模式执行php文件都是使用绝对路径执行的,所以如使用require来加载文件就会出错。crontab定时执行一样。
1、要么全部改成绝对路径。
2、使用chdir函数,改变当前执行目录,把目录改为文件所在目录,代码前面执行:chdir(dirname(__FILE__));
运行成功!
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模块
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 & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
由于版本比较久,所以更改为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的了。
安装个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.0.9后在/vendor/yiisoft/yii2/web/Application.php的第28行找到了:
public $defaultRoute = ‘site’;
可以不修改框架源码,直接修改配置文件在\yii2\frontend\config\main-local.php的$conifg=[] 里添加了一行代码: ‘defaultRoute’ => ‘index’, 。
然后刷新试试看!
默认的高级应用模板包括三个应用
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。
同理你可以新建无数个,还可可以把默认的三个应用重命名为你想要的名字。
centos例如挂盘目录是/data/
执行[root@abc~]# fuser -m /data
/data: 26962c
直接kill -9或者ps 查看后再kill 知道一个锁定的它的程序都没有
然后就可以卸载了
需要前端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'; } }