Windows10中自带的Server:Microsoft-IIS/10.0,然后这个10却让原本支持组件无法安装了,php manager组件安装时提示“必须安装IIS7以上才可以安装”。那是不是真的就没法在新的IIS上安装了呢?显然不是的。自IIS7以来,微软的IIS更改并不大,架构一致,几乎所有IIS7能用的组件都能够在IIS7.7/8/8.5/10上安装。微软脑子秀逗,跳过了9,以为能解决版本识别的问题,没想到弄成10,还是出现了版本识别的问题,真是自己打自己的脸啊! 那么怎么办呢?改注册表! 打开regedit,找到: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters 右侧的 MajorVersion 是DWORD值,它的值十进制是10,把它改成9。然后运行php manager安装程序即可顺利安装上了!记得装完之后改回来。 php manager的最新下载地址是:http://phpmanager.codeplex.com/releases/view/69115 而IIS URL Rewrite 2.0更是奇怪,简体中文版的这个组件无法安装,同样也是检测版本不正常,而英文版却能正常安装。 64位英文版下载地址是:http://go.microsoft.com/fwlink/?LinkID=615137 简体中文版下载地址是:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi 但是面对一堆英文,有些人肯定也会头疼了,那么简体中文版到底能不能装上。 也能!还是改注册表,我通过分析MSI发现它会检测 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp 也是 MajorVersion 项,这个也是 dword 值 10(注意是十进制),把它改成9,结果顺利安装上了! 这不得不吐槽微软一句:Win10真尼玛坑爹! http://http://it.oyksoft.com/post/6880/
View Details中文转Unicode:HttpUtility.UrlEncodeUnicode(string str); 转换后中文格式:"%uxxxx" 举例:"柳_abc123" 转换结果是:"%u67f3_abc123" Unicode转中文1:HttpUtility.UrlDecode(string str); str格式:"%uxxxx" ,举例:"%u67f3_abc123" Unicode转中文2:Regex.Unescape(string str); str格式:"\uxxxx" ,举例:"\u67f3_abc123" ================================ 符合js规则的转换 /// <summary> /// 中文转unicode(符合js规则的) /// </summary> /// <returns></returns> public static string unicode_js_0(string str) { string outStr = ""; string a = ""; if (!string.IsNullOrEmpty(str)) { […]
View Detailswinsw介绍 有时候我们需要在Windows下开机运行某些程序,这对于有图形界面的程序来说一般不是什么事,在选项中选中开机启动,然后它们就可以自动运行了。但是如果我们想运行一些命令行程序的话就没这么方便了。 原来我的做法是写一个bat脚本,然后将它的快捷方式复制到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,这样就可以开机自启了。不过这种方式有一个非常大的缺点,就是开机之后会显示一个命令行窗口!而且这个窗口还不能关,一关程序就停了。 其实Windows自带了一个后台程序管理的功能,就是我们经常用到的服务。但是Windows的服务只有程序的开发者在写程序的时候引用到这个功能,我们才能利用服务来控制程序的启动和关闭。对于一般的命令行程序来说,没办法利用服务。所以今天我们就来使用一下标题的这个winsw。它可以将Windows上的任何一个程序注册为服务,如果不需要,也可以方便的卸载服务。 使用winsw 下载 首先要下载winsw。它是一个单个的可执行文件,我们到Github release这里就可以下载winsw了。一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统,最好下载更新版本的.NET。 下载完之后最好把文件改成一个比较短小的名字,例如winsw.exe这样的,方便后面输入命令。 编写配置文件 我们需要编写一个和程序同名的XML文件作为winsw的配置文件。文件大体上长这样,这是官网的例子。
|
1 2 3 4 5 6 7 8 9 10 11 |
<service> <id>jenkins</id> <name>Jenkins</name> <description>This service runs Jenkins continuous integration system.</description> <env name="JENKINS_HOME" value="%BASE%"/> <executable>java</executable> <arguments>-Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8080</arguments> <logmode>rotate</logmode> </service> 看到XML的标签名,我想大家也能猜到这些参数是干嘛的,所以我就不介绍了。下面是我的一个配置文件例子。 |
|
1 2 3 4 5 6 7 8 |
<service> <id>kcp</id> <name>kcp</name> <description>这个服务用来将ss使用kcp协议加速</description> <executable>client_windows_amd64</executable> <arguments>-c kcp-config.json</arguments> <logmode>reset</logmode> </service> |
注册服务 编写好配置文件之后,记得把配置文件和可执行文件放在一起,这样winsw才能正确识别配置文件。然后我们打开一个管理员权限的命令提示符或Powershell窗口,然后输入下面的命令,如果返回值为0,说明已将程序注册为服务。
|
1 |
winsw install |
然后打开Windows的服务,我们可以看到这下已经出现了注册的服务,我们可以像一般服务那样开启、关闭它。 如果不再需要这个服务,使用winsw uninstall即可卸载服务。当然还有诸如start、stop这样的命令启动和关闭服务。更重要的是,没有那个既不美观又烦人的命令提示符窗口。 from:http://www.cnblogs.com/qianzf/p/6807167.html
View DetailsEntity Framework(EF)的开发模式有多少种呢?有的说是三种,有的说是四种,到底哪个对呢? 先看下图: 再看这张: 那么明显开发模式是三种。 即:DateBase First(数据库优先)、Model First(模型优先)和Code First(代码优先)。 当然,如果把Code First模式的两种具体方式独立出来,那就是四种了。 Code First(New DataBase) :在代码中定义类和映射关系并通过model生成数据库,使用迁移技术更新数据库。 Code First(Existing DataBase):在代码中定义类和映射关系,给逆向工程提供工具。 Model First:在设计器中创建Model,并用Model生成数据库。所有的类由Model自动生成。 DateBase First:在设计器中逆向生成Model,并有Model自动生成所有的类。 from:http://www.cnblogs.com/jihua/archive/2013/05/23/efmoshi.html
View Details前段买了astrill的服务,速度快,也稳定,一切都挺好。可是,有一天,vs2015调试iis时却无缘无故的崩溃了,用了那么久vs还没见过这种情况。 于是开始找原因,先卸载新状的补丁,不行。 把vs2015重装安装一遍,还不行。 想了想,vs内置的调试是可以的,而调试iis时就崩溃,应该和网络有关吧…… 最近和网络有关的软件也只安装了astrill,果断卸载,重启,竟然可以了……百思不得其解啊。 找度娘啊,狂搜一阵,没有对症的结果啊…… 过了两天,换了个关键词,搜到了个对症的结果,但没解决我的问题,他自己也没有完美解决,这可怎么办啊~ 又过了几天,忽然想到给astrill官方发邮件,都说老美敬业,确实很快回了邮件,第一封没看懂,我又发了一遍,终于得到了个完美的解决: 安装Astrill客户端,并登录账号。 按住Ctrl键,点HELP(万恶的资本主义啊, 这还有隐藏菜单啊) 点击“LSP Uninstall” 然后重启,运行astrill,会有个提示,确定。 如果这时你不能上网,那就退出astrill,再运行一次,如果有提示,还点确定。 如果你还不能上网,再重启一下~~
View Details本文档仅介绍如何安装iWshop并且完成微信公众号对接,其他微信认证、微信支付等申请可以参考: 百度经验 微信认证申请、微信支付申请 iWshop 交流群:470442221 iWshop 类文档:http://docs.ycchen.cc/iwshop/index.html 一、准备工作 服务器环境要求 PHP5.3+ MySQL 5.5.3+ (utf8mb4编码用于保存带有emoji表情的微信用户昵称) PHP扩展:php_mysql php_curl php_pdo_mysql php_mcrypt php_gd2 请确保您的php.ini配置中magic_quotes_gpc为Off,否则某些功能可能无法使用 如果需要redis,请加载php_redis扩展 iWshop是以UrlQuery的形式组合参数的,所以不需要伪静态模块。 开始安装iWshop http://git.oschina.net/koodo/iWshop/releases 现在以安装目录F:\dev_project\test_iwshop为例进行安装,我的httpd-vhosts.conf其中的一个设置是这样的。关于如何使用apache的vhosts可以参考:Apache官方示例 1 2 3 4 5 6 7 8 9 10 <VirtualHost *:80> DocumentRoot "F:\dev_project\test_iwshop" ServerName test.iw.com <Directory "F:\dev_project\test_iwshop"> AllowOverride All Options FollowSymLinks Order allow,deny Allow from all </Directory> </VirtualHost> 当然你也可以直接放服务器根目录。 然后在浏览器中打开localhost,或者vhosts指向的域名。 填写微店名称(可以在后台修改),数据库密码,后台管理员账号密码(可以在后台修改),然后点击下一步。 这里特别说明一下系统根目录,如果是在DocumentRoot的根目录下安装,那么就是 / ,如果是在某个子目录比如/iw/,那么这里就要填写 /iw/ ,一般情况下都会自动获取,无需填写,如果遇到css或者js等静态文件无法加载页面错乱的问题,请检查config.php里面的docroot选项。 点击马上安装,如果数据库版本和php环境没有什么配置问题的话,就安装成功了。 假设服务器域名是:www.iwshop.cn,那么你的: 后台地址:http://www.iwshop.cn/?/Wdmin/login/ 微信消息接口地址:http://www.iwshop.cn/wechat/ 二、微信对接 // todo 三、bug反馈 http://git.oschina.net/koodo/iWshop/issues iWshop 交流群:470442221 作者邮箱 koodo@qq.com from:http://git.oschina.net/koodo/iWshop/blob/dev/html/docs/install.md
View Details[摘要:远期正在进修yii2框架的应用,正在看他人的专客时讲到了好化url的完成 比方,默许进进about页里的时间,url是如许的http://localhost/index.php?r=site%2Fabout,只需正在/config/web.p] 近期在学习yii2框架的使用,在看别人的博客时讲到了美化url的实现 比如,默认进入about页面的时候,url是这样的http://localhost/index.php?r=site%2Fabout,只要在/config/web.php中,在components数组中加上 urlManager => [ showScriptName => false, enablePrettyUrl => true ], 开启之后再访问about页面,路径已变为http://localhost/web/site/about 但是我在本机上使用的时候,一直报404错误,搜索过后才知道是因为apache没有开启rewrite功能 最后找到了这个博客 http://www.chenruixuan.com/archives/759.html yii basic版: 1. 开启 apache 的 mod_rewrite 模块 去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号; 2. 修改 apache 的 AllowOverride 把 AllowOverride None 修改为 AllowOverride All; 3. 在与index.php文件同级目录(web目录)下添加文件“.htaccess” Options +FollowSymLinks IndexIgnore */* RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule . index.php 4. 配置应用的urlManager yii2.0与之前版本配置略有不同,根据文档显示: http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html 需要在config/web.php中的components数组下增加: 1 2 3 4 5 6 7 8 […]
View Detailscentos7系统库中默认是没有nginx的rpm包的,所以我们自己需要先更新下rpm依赖库 (1)使用yum安装nginx需要包括Nginx的库,安装Nginx的库 #rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm (2)使用下面命令安装nginx #yum install nginx (3)启动Nginx #service nginx start 或 #systemctl start nginx.service from:http://blog.csdn.net/xiaoyu411502/article/details/51454786
View DetailsUbuntu 14.04 第一次安装Docker,运行hello-world 是可以的, 重启系统之后,运行hello-world 出现如下报错: Cannot connect to the Docker daemon. Is the docker daemon running on this host? 多方查找,解决如下: sudo su //切换到root service docker start //启动docker service docker images //显示所有images docker run hello-world //重新运行 恩,是权限问题,当前用户没权限,root用户可以运行 from:http://blog.163.com/s2006203387@126/blog/static/533199572015111703735423/
View Details|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
<?php /** * Created by PhpStorm. * User: w3cnet * Date: 2016/12/10 * Time: 22:50 */ namespace app\models; class AESCrypt{ /** * 设置默认的加密key * @var str */ private static $key = "A9823E9B32A658F72814D0B612F550EC"; /** * 设置默认加密向量 * @var str */ private static $iv = 'A9823E9B@#A658F72814D0^&12F550E$'; /** * 设置加密算法 * @var str */ private static $cipher = MCRYPT_RIJNDAEL_256; /** * 设置加密模式 * @var str */ private static $mode = MCRYPT_MODE_CBC; /** * 对内容加密,注意此加密方法中先对内容使用padding pkcs7,然后再加密。 * @param str $content 需要加密的内容 * @return str 加密后的密文 */ public static function encrypt($content){ if(empty($content)){ return null; } $src_data = $content; $block_size = mcrypt_get_block_size(self::$cipher, self::$mode); $padding_char = $block_size - (strlen($content) % $block_size); $src_data .= str_repeat(chr($padding_char),$padding_char); return base64_encode(mcrypt_encrypt(self::$cipher, self::$key, $src_data, self::$mode, self::$iv)); } /** * 对内容解密,注意此加密方法中先对内容解密。再对解密的内容使用padding pkcs7去除特殊字符。 * @param String $content 需要解密的内容 * @return String 解密后的内容 */ public static function decrypt($content){ if(empty($content)){ return null; } $content = base64_decode($content); $content = mcrypt_decrypt(self::$cipher, self::$key, $content, self::$mode, self::$iv); $pad = ord($content[($len = strlen($content)) - 1]); return substr($content, 0, strlen($content) - $pad); } } |
View Details