欢迎光临
我们一直在努力

在 Windows 中 搭建laravel开发环境

悠然见南山阅读(42)评论(0)

1、准备工作

1.1PHP集成环境

这里我们使用的是XAMPP,XAMPP是一个功能强大的建站集成软件包,采用一键安装的方式,包含PHP7.0、Mysql、Tomcat等。最新版下载地址:PHP 5.6.28版(32位)|PHP 7.0.13版(32位)这两个版本的XAMPP都不再支持WindowsXP操作系统,这意味着你需要更高版本的Windows操作系统。

注意:由于Laravel5.1要求PHP 5.5.9+(含)版本,所以要针对该PHP版本要求选择合适的XAMPP。

1.2安装Composer

Windows下最新版本Composer下载:Composer-Setup.exe

安装完成后,如果Composer安装包安装/更新缓慢,可以配置使用国内镜像进行包依赖的安装和升级,具体可参考这篇文章《Composer中国全量镜像》。

PS:想当年Composer安装慢如牛,一个更新需要几个小时,不过现在明显感觉速度快了好多,不需要设置国内镜像,也可以顺利进行操作(我还担心会被墙呢)。

1.3配置系统路径

要在控制台中使用composer命令,需要将Composer及PHP的可执行文件(.exe/.bat)所在目录配置到系统环境变量Path中。PHP对应的php.exe在XAMPP安装目录中找,Composer对应的composer.bat文件所在目录默认为C:\ProgramData\ComposerSetup\bin。这里不再赘述

安装Composer时需要添加PHP的路径,在给我宋哥配置的时候他先装的composer,因为php版本太低,又重新装了xampp导致php路径错误,xampp默认的php路径是E:\xampp\php\php.exe.PS:因为我的xampp是装在e盘下的所以盘符是E:\

1.4其他要求

PHP必备扩展:OpenSSL、PDO、Mbstring、Tokenizer。检查下这几个PHP扩展是否已安装,如果没有安装需要进行安装。

安装完成后重新启动XAMPP (stop+start)。

PS:一般情况下不需要配置,如果无法工作大概是两个原因(1)没有php的扩展程序–在xampp\php\ext\下面查看对应的.dll文件。(2)配置文件被注释是掉–在xampp\php\下面的php配置文件中取消对扩展的注释

2、使用Composer安装Laravel

以上准备工作做好后,接下来正式开始安装新的Laravel应用。首先我们直接通过Composer安装Laravel。

进入XAMPP安装目录的htdocs文件夹:

cd /path/to/xampp/htdocs

在该目录下,执行如下Composer命令:

composer create-project laravel/laravel

–prefer-dist

即可在该目录中安装一个目录名的laravel的新的Laravel应用,如果你想指定自定义的安装目录名,如laravelapp,则使用如下命令即可:

composer create-project laravel/laravellaravelphp –prefer-dist

如果安装过程中报错:

[RuntimeException]

Could not load packageclasspreloader/classpreloader in http://packagist.org:[UnexpectedValueException] Could not parse version constraint ^1.2.2: Invalidversion string “^1.2.2”

则表示需要更新Composer:

composer self-update

执行完更新后再次执行安装命令即可。

完成安装需要一定时间,等待安装完成后,即可在浏览器中通过http://localhost/laravelapp/public来访问新安装的Laravel应用:

3、使用Laravel安装器安装Laravel

首先通过如下命令安装Laravel安装器:

composer global require “laravel/installer=~1.1”

确保laravel.bat所在目录(默认是C:\Users\用户名\AppData\Roaming\Composer\vendor\bin,将”用户名”换成你的当前用户名)位于系统路径中,否则将不能调用laravel命令。

接下来,就可以通过如下命令安装新的Laravel应用了,比如我们还是创建一个名为laravelapp的应用:

laravel new laravelapp

使用这种方法创建Laravel应用要比直接使用Composer安装要快得多:

同样可以使用上面配置的http://localhost/laravelp/public访问刚刚安装的Laravel应用:

4、使用Laravel官方安装包

上述安装方法有些复杂,可以在Laravel官方的Github上下载对应的包,可点击下面的下载链接下载最新版本的Laravel官方包,但是这个包里面没有一个叫vendor的文件需要执行composer install命令来获取

首先切换到安装包目录下面

Cd /xampp/htdocs/laravel-5.3.16

然后执行composer install

Composer install

5、使用Laravel一键安装包

如果你想要略过上面使用Composer或Laravel安装器安装的繁琐过程,而直接使用一个现成的、已安装好依赖的Laravel包,可点击下面的下载链接下载最新版本的Laravel包:

Laravel最新一键安装包

其实就是将我们通过上面两种方式生成的Laravel应用打个包而已。经测试有效:

注意:为安全起见,下载一键安装包后,最好进入应用目录执行php artisan

key:generate命令重新生成应用APP_KEY。

PS:从编辑器co过来格式全变了,凑合吧

作者:DivenYang
链接:https://www.jianshu.com/p/8e1c6d52cc91
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

https配置与安卓访问https失败,错误:fail ssl hand shake error

悠然见南山阅读(215)评论(0)

最近又遇到一个安卓访问有问题,苹果和电脑访问正常的现象;安卓访问https失败,错误:fail ssl hand shake error。

对于这个奇葩的错误,就之前的经验,只能反思是否是证书配置错误。网上有遇到过的,但是都么有给出修改方式。

后来找到了两个检测工具:

https://www.myssl.cn/tools/check-server-cert.html

https://www.ssllabs.com/ssltest/analyze.html

通过这两种检测工具检测后,基本就知道是什么原因了,要么是协议配置不支持,要么是证书缺失。

我们遇到的情况就是中间证书缺失,当时申请的时候按照旧的方式去申请,会生成两个.cer文件。

需要将:ovroot.cer中间证书copy出来贴到server.cer证书的后面,问题就解决了。

附带Nginx的ssl配置手册:

一、证书整理

ovroot.cer文件为服务商中间证书,server.cer为服务证书,需要将两个证书并使用,否则会出现安卓无法访问,会出现fail ssl hand shake error这个错误。

将ovroot.cer的证书复制出来贴到server.cer内容后面,不要有空行;

二、Nginx的配置如下:

server {

listen 443;

server_name spdwechat.ctyun.cn;      #对应的主机域名

ssl on;

ssl_certificate yun_cert/server.cer;//证书目录

ssl_certificate_key yun_cert/server.key;  #私钥

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

ssl_prefer_server_ciphers on;

location / {

proxy_pass http://cpsapi;    #实际的程序监听地址

proxy_set_header Host $host;

proxy_set_header X-Real-Ip $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto  $scheme;

}

access_log /server/logs/nginx/cps_rest_access.log main;

}

要支持TLSv1.2协议;

 

微信h5支付提示“网络环境未能通过安全验证 请稍后再试”

悠然见南山阅读(327)评论(0)

function getIp(){    
    $ip '';    
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){        
        $ip $_SERVER['HTTP_X_FORWARDED_FOR'];    
    }elseif(isset($_SERVER['HTTP_CLIENT_IP'])){        
        $ip $_SERVER['HTTP_CLIENT_IP'];    
    }else{        
        $ip $_SERVER['REMOTE_ADDR'];    
    }
    $ip_arr explode(','$ip);
    return $ip_arr[0];
 }

QQ登录报错:redirect uri is illegal(100010) 解决方法[官方回复]

悠然见南山阅读(160)评论(0)

另外需要注意的一个问题是回调地址的填写是可以填写多个的用英文的;分割,别傻不拉唧的只填写一个,也别只填写一个根域名,可以写二级域名的。
回调地址设置问题
100010报错解析方法:打开http://open.qq.com/tools?act=url_encode =》复制QQ授权登录页面(100010报错页面)的全部地址 =》 URL编码解码工具=》URL解码。
解码之后查看实际回调地址(redirect_uri=之后到第一个&符号或者问号截止的部分)是否与QQ互联里网站回调域里填写的地址一致。不一致就会报错,修改设置使两个地方的回调地址保持一致即可解决。
可以先自己解析看看
回调地址验证机制已经调整,现在是全路径验证。设置规则:1、网站程序和QQ互联管理中心的回调都要使用完整的带http的URL;2、网站程序和QQ互联管理中心两个地方设置的回调地址必须完全一致
比如:QQ互联管理中心应用资料里面填写的回调地址是http://www.xxx.com/xxx/ 那么网站实际配置的回调 redirect_uri=必须是http://www.xxx.com/xxx/参数(此处是否带参数自行决定)
———————
作者:若水印象
来源:CSDN
原文:https://blog.csdn.net/ruoshuiyx/article/details/55506274
版权声明:本文为博主原创文章,转载请附上博文链接!

cURL error 60: SSL certificate problem

悠然见南山阅读(107)评论(0)

php在curl的时候报此错误:

cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
1
根据报错后面提示的地址查询60错误:

CURLE_SSL_CACERT (60)
Peer certificate cannot be authenticated with known CA certificates.
1
2
无法获取本地颁发者证书

网上搜的解决方法:(http://stackoverflow.com/questions/29822686/curl-error-60-ssl-certificate-unable-to-get-local-issuer-certificate)

关于“SSL证书问题:无法获取本地颁发者证书”错误。显然,这适用于发送CURL请求的系统(并且没有接收请求的服务器)

1)从 https://curl.haxx.se/ca/cacert.pem 下载最新的cacert.pem

2)将以下行添加到php.ini(如果这是共享托管和您没有访问php.ini然后你可以添加到.user.ini在public_html)

curl.cainfo=/path/to/downloaded/cacert.pem

3)默认情况下,FastCGI进程将每隔300秒解析新文件(如果需要,您可以通过添加几个文件来更改频率,如这里建议的https://ss88.uk/blog/fast-cgi-and-user-ini -files-the-new-htaccess /)
———————
作者:戒烟的不耳
来源:CSDN
原文:https://blog.csdn.net/buer2202/article/details/75364589
版权声明:本文为博主原创文章,转载请附上博文链接!

手工配置 ApplicationInitialization For IIS 7.5

悠然见南山阅读(347)评论(0)

解决 iis 重启后,首次访问系统很慢的问题
此方法仅适用 iis7.5 处理步骤如下: 1.下载 ApplicationInitialization。 2.安装完成后,设置 IIS。 A.找到 C:\Windows\System32\inetsrv\config\,打开 applicationHost
在文件中找<applicationPools>节,找到应用程序池名称.NET v4.5,将 automode 属性去

掉,改成 startMode=”AlwaysRunning”,如下所示:

<add name=”.NET v4.5″ startMode=”AlwaysRunning” managedRuntimeVersion=”v4.0″ />
在文件中找到<sites> ,网站名称 EPC,应用名称为 appinit,增加属性

preloadEnabled=”true”,如下所示:

<site name=”EPC” id=”2″ serverAutoStart=”true”><application path=”/appinit” preloadEnabled=”true” applicationPool=”.NET v4.5″>

B.设置应用的 webconfig,在<system.webserver>中增加下面的内容: <applicationInitialization remapManagedRequestsTo=”userlogin2.aspx” skipManagedModules=”true” > <add initializationPage=”/userlogin2.aspx” /> </applicationInitialization>

注意:上述设置只针对单个应用。IIS 部署了多少应用就需要设置多少次。

Mysql:InnoDB: The log sequence number in ibdata files does not match

悠然见南山阅读(145)评论(0)

一日,公司笔记本升级防火墙,于是备份所有文件后交IT处理。
再拿到手上,就是一台重新装了系统的笔记本了。
这时才想起来mysql没有做导出,但是由于备份了所有数据文件,应该有办法恢复回来。
操作如下—
1.重新安装了相同版本的Mysql,并选择相同的引擎INNODB。
2. 关掉Mysql服务,将原data文件夹覆盖新装的data文件夹,启动失败报错1067
3.于是保留data文件夹里的ibdata1文件,其他覆盖掉。
4.启动Mysql,查询发现database都在了,任选了一个db,查询tables也都在。心说大功告成。
5.启动应用,报错提示表找不到。
6.命令行连到数据库上,show databases结果正确,show tables结果正确,desc [table]失败,提示table找不到。
7.后来才知道innodb引擎的数据还是存储在ibdata1中的,虽然那些frm文件和database文件夹都在,但是好像数据并不保存在这些文件里。
8.查找网络,提示先添加my.ini中 innodb_force_recovery=4, 启动服务,在删除该配置。
于是照做,成功。
步骤如下—
1. shutdown mysql
2. modify my.ini, add record “innodb_force_recovery=4”
3. start up mysql service
4. connect mysql, show databases is correct, show tables is correct, desc [table] results correct.
5. It succeeds. Thank God.
6. stop mysql, remove record “innodb_force_recovery=4”, start up mysql
7. start application, everything goes well.
In fact, I am not sure whether it will work if we don’t add “innodb_force_recovery=4”, hope someone tried.

PHP 5.6 中 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version

悠然见南山阅读(98)评论(0)

在使用数组转换为XML 时,出现这种错误

Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version。

特别是在微信开发的时候,字符串转换成XML时,有可能导致这种问题。

 

解决方法

找到php.ini  文件, 把always_populate_raw_post_data  修改为-1 就行了。

always_populate_raw_post_data=-1

解决iis重启后,首次访问系统很慢的问题 

悠然见南山阅读(194)评论(0)

解决iis重启后,首次访问系统很慢的问题

此方法仅适用iis7.5 处理步骤如下:
1.下载ApplicationInitialization。 2.安装完成后,设置IIS。
A.找到C:\Windows\System32\inetsrv\config\,打开applicationHost

在文件中找<applicationPools>节,找到应用程序池名称.NET v4.5,将automode属性去
掉,改成startMode=”AlwaysRunning”,如下所示:

<add name=”.NET v4.5″ startMode=”AlwaysRunning” managedRuntimeVersion=”v4.0″ />

在文件中找到<sites> ,网站名称EPC,应用名称为appinit,增加属性
preloadEnabled=”true”,如下所示:

<site name=”EPC” id=”2″ serverAutoStart=”true”><application path=”/appinit” preloadEnabled=”true” applicationPool=”.NET v4.5″>

B.设置应用的webconfig,在<system.webserver>中增加下面的内容:
<applicationInitialization  remapManagedRequestsTo=”userlogin2.aspx”

skipManagedModules=”true” >

<add initializationPage=”/userlogin2.aspx” />

</applicationInitialization>

IIS7.5也有Warm Up功能 让ASP.NET第一次Request不变慢

悠然见南山阅读(171)评论(0)

页开发者早期最常遇到一个问题,当网站布署到IIS时候,每当IIS或是Application Pool重启后,第一位进入网站的使用者,其体验往往第一个反应就是网站很慢,然后就一直询问IT为什么网站这么慢。但是,IT再去确认之后,网页速度又没有问题,虽然这问题看似不是很大问题,不过,有时企业内部网站,会因为在Web Site 初始化时候进行一堆设定跟Loading Data,这样等待时间就不会是几秒而已了。因此,早期在IIS7.0以前为了避免这不友善的使用者体验,通常都会自行撰写Warm Up功能,这种功能大都是仿真使用者第一次登入动作,让真正第一次使用者对于IIS来说是第二次的Request来解决这问题。

自从Windows 2012出来之后,这部分Application Initialization功能已经有内含在IIS8之中,可以直接进行设定就可以。

 

不过,在大部分的企业用户中并不可能这么快都使用Windows 2012,大都还停留在IIS6或是IIS7.X的时代,不过,目前微

软针对Windows R2的IIS7.5,Release Warm Up的模块叫做Application Initialization Module for IIS 7.5,让在IIS 7.5也可

以有此功能,让我们透过外挂模块就可以轻松拥有Warm Up机制。

官方下载网址:http://www.iis.net/downloads/microsoft/application-initialization

 

下载完毕,点击两下就可以开始安装。

 

基本上安装速度很快,一下就可以安装完毕,安装完毕后会要求重新开机,因此,在安装时须注意此主机这个时段可以重新 www.it165.net

开机不然就会很糗了


原则上安装模块完毕后,因该在IIS中会出现Warm Up图标控件,让我们去设定。但是,我在这边安装了几台都没有出

现这控件可以进行网站设定。甚至连安装在Win7上也没有出现控件。不过,若是去IIS模块列表中,却又可以看到已

经确实有安装了Application Initialization模块,可供使用。

 

为了解决此问题,又必须再去安装Application Initialization for UI,才有办法让IIS出现UI可以进行设定,安装档请参阅附档

下载。安装完毕后,在IIS控制置模块中会出现一个Application Initialization图示,此时我们就可以开始设定了

 

Warm Up设定方式满简单的,可以针对Application Pool层级或是Web Site层级两者进行设定

1.Application Pool层级:只要有需要的Application Pool的Start Mode设定AlwaysRunning就可以

 

2.Web Site层级:选择你们要做Preload的Web Site。

 

选择好Web Site之后,记得下图红框地方要打勾,才有办法进行Warm Up功能。

 

以上都设定好之后,来进行试验一下。分别测试有无Warm Up的Web Site对于第一个Request的反应,当所有Web Site都

重新启动,模拟第一位User进入此网站

无设定Warm Up的Web Site

 

有设定Warm Up的Web Site

 

从上图的比较发现,有无Warm Up对于网站的反应是有差别的。

Application Initialization for UI :http://www.it165.net/uploadfile/2013/0601/20130601104150404.zip

更专业 更方便

联系我们联系我们