Ubuntu配置laravel环境

###Ubuntu:16.04
###Laravel:5.3

##1、 首先安装Apache

sudo apt-get install apache2

2、安装php

sudo apt-get install php7.0

##3、模块安装

sudo apt-get install libapache2-mod-php7.0
sudo apt-get install php7.0-mysql
sudo apt-get install php7.0-gd

##4、Apache设置
###4.1 更改默认根目录
安装完apache2,根目录在/var/www下,如有需要更改根目录,可以修改/etc/apache2/sites-available/000-default.conf

DocumentRoot /var/www/html

为所需要的目录

DocumentRoot /home/laravel/public

此时,重启服务器service apache2 restart ,然后访问localhost,如果访问其他路由,例如

localhost/index.php/login

这里会有个index.php,如果需要隐藏掉index.php的话,可以启用rewrite模块

##5、启用mod_rewrite

sudo a2enmod rewrite

然后修改

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride none(这里改为all)
        Require all granted
</Directory>

然后重启apache服务器

PHP 开发运行环境搭建(windows版本)附DEBUG模式

准备条件

首先你需要有一个PHP开发运行环境,本人使用的是phpStorm开发+laragon运行,

phpStorm 安装

软件下载安装: [1]: http://www.oyksoft.com/soft/40722.html "PhpStorm (强大的PHP开发环境)2018.1.1 附注册方法"  ,这里提供了下载和破解方法,一次安装,永久使用,有钱的也可以去官网下载,支持技术发展。

laragon 安装

软件下载安装: [laragon安装](http://laravelacademy.org/post/7754.html "laragon安装") 这个地址有详细的安装教程以及php版本使用教程,强大又实用的网址,需要的可以收藏。

debug工具安装

准备好之后就进行DEBUG工具安装:xdebug,新建一个php页面,输入内容: ,本地查看页面,复制页面信息到刚才页面的输入框,点击下面的analysis按钮,一步步操作;

此处需要注意的是配置信息需要增加内容:

[xdebug]
zend_extension = F:\myTools\laragon\bin\php\php-7.1.14-Win32-VC14-x64\ext\php_xdebug-2.6.0-7.1-vc14-x86_64.dll
xdebug.idekey=PHPSTORM
xdebug.remote_enable = On
xdebug.remote_host=localhost
;xdebug.remote_port默认值为9000,这里需要跟phpstorm配置一致,下面有说明
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.auto_trace = On

第一个就是对应的安装地址(此处是laragon对应的php的地址),然后需要配置PHPstrom的环境,选择File | Settings | Languages & Frameworks | PHP ,然后CLI Interpreter打开选择laragon里面的php.exe,到这里后台的配置工具就完成了。
打开谷歌浏览器,(翻出去)打开谷歌商店xdebug

下载对应的插件即可。
重启laragon的服务即可。
后台断点,打开对应的链接即可看到后台断点。

Python爬虫之requests定制请求头

缘由

上一篇文章里面说到,获取百度的内容的时候,我们并没有得到我们想要的结果,这个到底是为啥呢,主要是用requests的请求更浏览器的自己发的请求的区别在于请求头,浏览器的请求是有定制的请求头,而requests的请求是没有请求头的,我们猜想,由于没有请求头,百度判断我们不是合理或者说是合法的请求,因此没有给我们相对应的正确的结果

定制请求头

如果你想为请求添加 HTTP 头部,只要简单地传递一个 dict 给 headers 参数就可以了。

import requests


url = 'https://www.baidu.com/s'
params = {
    'wd': 'Chrome'
}
headers = {'user-agent': 'my-app/0.0.1'}
rsp = requests.get(url, params=params, headers=headers)

显然,这样我们依然是得不到我们想要的结果,那我们怎么知道请求头应该带上什么内容呢,我们用浏览器打开百度,然后看一下它发的是什么,那我们也这样发不就行啦,^_^
具体代码:

import requests


url = 'https://www.baidu.com/s'
params = {
    'wd': 'Chrome'
}
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
    'Referer': 'https://www.baidu.com/'
}
rsp = requests.get(url, params=params, headers=headers)

然后我们在运行上面的代码,终于得到我们想要的啦

下一篇我们开始实战训练

创业之路——记事实录一

在辞职之前,我是一名普通的程序员(当然现在也依然是程序员),曾经就读于一所本科学校,学的专业是网络工程。没有错,就是一名地地道道的程序员,所以,在看这篇文章之前我觉得你们应该可以想到了接下去的无聊叙事手法,请原谅作为一名理工男的拙劣文笔。
直到此刻,我已经毕业快2年了,在一家普通的创业公司也工作了快两年了。两个月前提的辞职,在一周前老板才算真正的放我离开,仅仅只是因为公司还没有找到接替的人…从离职到现在,我们团队一直在忙公司的事情,包括注册公司,选择住宿办公地址,购买办公桌椅,再到申请公司公共账户,建设公司官网,公众号,小程序等等一大堆琐碎的事情。我觉得,我有必要仔细的捋一捋经历过的所有事情,让我们接下来走的每一步都有理可循,每一步都能够走得踏实。

我们都年轻过

6,7年前,我还在读高三,那一年是我感觉最憋屈的一年。当时学校在高三弄出来一个什么中班(比中班更厉害的好像是叫什么奥赛班),然后把年级里面成绩排名较前的同学安排在一起奋战,乍一听,考上这个班级还是很骄傲的,可是接下来听到的事情就让我尴尬了,这个班级里面有一半的同学是教师子女或是用钱买进来的富贵子弟。听到这个消息后我去找过班主任申请退出到普通班级,然而,并没有获得允许…第一次的座位安排是随机的,我被安排到了班级最后一排座位,对于比较矮小以及高度近视的我那可是灾难性的,当我去找班主任排座位的时候却收到了这样的回复“前面的座位都被安排了,接下来一段时间你就先将就坐着吧!”。在那之后我再也没有找老师安排过座位,也就一直在最后一排座位坐到了高考。

大学真的是人生的天堂

虽然是经历了憋屈的高三,但是我还是考上了大学,也如愿以偿的度过了人生中最无忧无虑的四年时光。在家里人都建议我学医的时候,我毅然选择了读计算机,当时仅仅是因为学计算机的时候可以玩游戏。。。我用了一年时间把高中时期想玩的游戏都玩了一遍,也就不难想象期末为了不挂科而通宵奋战的情景了。由于对游戏的热爱,大二的时候加入了一个游戏团队,但是进去之后不是写代码,而是帮他们团队建立游戏模型,那一年把ps,Maya,ae,3d max统统学了个遍,但是最后团队还是解散了,刚好学院那一年开设了导师带研究生模式来培养本科生,我也跟了一位导师,他的团队是做ios的,索性我也跟着学习ios开发。大三经一位师兄的介绍,进入了一家创业公司去实习,然而,他们是做Android和java的,不知道是对ios的不感兴趣还是对java的情有独钟,我直接开始了java的学习,一直到现在。度过了可以“为所欲为”的三年,大四我们也要面临毕业,找工作的困境,对于技术相对不是很拔尖的我,果断放弃了大公司的笔试,选择了一家创业公司,也就是刚辞职的这家,工作了将近两年。

创业想法萌芽

一年多以前,跟一位同行的发小(也就是现在的合伙人之一)聊天,就说他们那边有一个创业团队,接到了一个有风投的项目,而且已经拿到了10w的启动资金,问我是否愿意加盟。在讲述这个项目的经过之前,我觉得有必要先介绍一下这位发小。我们都叫他小莫,跟我是从小学开始就认识,初中三年又是同班同学,高中同校,大学他考上了更好的大学。本来以为我们的交集就只存在于平时的同学聚会,但是出于对好友的信任,我二话不说就答应了他,跟他一起加入到这个项目来。开始我跑了几趟小莫工作的地方(我们相隔大概两个小时的地铁的距离),为的是了解这个项目的详情。在我看来,这是一个有前景的项目,但是需要投入的资金和人脉关系也不是一般人能做的来的。正当我们购置了办公室,准备辞职出来干的时候,项目的投资人希望收回项目自己做,我们也就相当于做了很多的无用功了。最终的解决办法是,我们兼职帮他们做技术层面的开发,也就每个周末的时候过去两天。就这样跑了一个月之后,我们都开始出现了疲累的感觉,同时对于他们的团队,我们两个人也有很多不认同的地方。在大概两个月后,我们拿到了大概2w的收入,但是也结束了我们的兼职生活。由于尝到了这种工作轻松,但是也能够拿到不少报酬的甜头,我们都萌生了自己创业的想法。期间我们想了几个项目,也自己进行了开发,其中做的比较久的是一个订餐系统,顾客可以通过餐馆桌子上的二维码进行选餐点餐以达到降低服务员工作量的目的。但是通过项目开发的深入,我们越发感到这个项目的不切实际:虽说是扫二维码就可以点餐减少了聘请服务员的开销,但是相对于顾客来说肯定是怎么方便怎么来,有个服务员在旁边伺候肯定是更加方便;其次,我们的系统开发出来了,想要以什么样的方式进行推广,目前市场上大部分的餐馆都是用一套完善的点餐系统,从录入菜单到点餐,再到下单,记账都可以全方位的完成,相对来说,我们的系统就显得很短板了;再者,我们也没有想好一套完善的商业模式,系统出来了通过什么来吸引投资?。感受到了项目的短板,我们也没有继续开发下去的欲望,这个项目最终也就不了了之了。

裸创

不知道从什么时候开始,我们两人的创业念头越来越强烈,但是也一直没有找到好的idea或者有什么好投资的项目。今年春节前后,我跟小莫提了一下我想换工作的想法,没想到他也有这种想法,就像是心有灵犀般,我们二话不说,就决定出来单干!但是两个人实在是有点困难,我们开始了寻找合伙人之旅。

JAVA环境windows搭建以及基础web项目新建

1.官网下载JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
按照大部分按照软件推荐安装即可,安装地址可按照个人喜好更换,JDK和JRE最好装在同一文件目录下(方便以后查找)。CMD中输入java -version,若出现Java版本信息则安装成功
2.官网下载tomcat
https://tomcat.apache.org/download-80.cgi
推荐下载安装版本,这样就不需要自己去配环境变量,能打开tomcat目录里的bin文件下的TomcatX.exe基本即可,若不放心可以在浏览器输入地址:localhost:8080, 会出现tomcat主页即为成功。
3.官网下载maven
http://maven.apache.org/download.cgi
推荐下载Binary zip archive  apache-maven-X.X.X-bin.zip,这个是无源代码的版本。
然后配置好自己的maven目录下conf文件的settings.xml: 这里主要需要配置本地maven仓库地址<localRepository>D:\myTools_2018\mavenLib</localRepository>
和maven镜像地址(<mirrors>里面配置)
4.官网下载eclipse
https://www.eclipse.org/downloads/
eclipse解压放到自己需要的地方,然后打开eclipse选择eclipse工作目录;
配置刚才2,3步骤配好的tomcat和maven:
window-->preferences-->server-->runtime environments --> add 然后选择对应的tomcat版本,选择刚才的tomcat安装地址即可。
window-->preferences-->maven-->user setting 选择刚才maven安装的地址,update setting保存即可。
5.新建简单的dynamic web项目,file-->new-->Dynamic web project 输入项目名即可生成一个web项目。
6.在webContent中添加html,css等等,本次我写了个index.html;在Java Resource中的src目录下写Java代码,HttpServlet在tomcat的servlet-api.jar里面,所以需要引入该jar包,也需要在webContent-->lib-->web.xml 中写入,eg:
<servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>



HelloWorld
/HelloWorld

7.servers新建一个server,然后加入新建的项目,启动server,成功后就可以在页面访问刚才的index.html和那个HelloWorld,eg:
http://localhost:8080//Test//index.html
http://localhost:8080//Test//HelloWorld
至此,Windows本地环境搭建成功。

PHP环境搭建之windows篇

Apache

下载

安装

以下安装方式是基于zip安装包的方式,并且是httpd-2.4.18-win64-VC14.zip,也就是基于visual studio 2015版本的Apache

  1. 解压zip包到任意目录,比如 D:\Study\Apache\,此时,该目录下多了一个Apache24文件夹以及连个文件:-- Win64-2.4.18 VC14 --ReadMe.txt
  2. 打开ReadMe.txt,找到安装部分的说明
Install
-------


- Unzip the Apache24 folder to c:/Apache24 (that is the ServerRoot in the config).
  Default folder for your your webpages is DocumentRoot "c:/Apache24/htdocs"

  When you unzip to an other location, change ServerRoot in the httpd.conf,
  and change in httpd.conf the Documenroot, Directories, ScriptAlias,
  also when you use the extra folder config file(s) change to your location there. 

Start apache in a DOS box:

>httpd.exe

Install as a service:

>httpd.exe -k install

ApacheMonitor:

Double click ApacheMonitor.exe, or put it in your Startup folder.

第一步解压已经完成,后面有两种启动方式,一种是命令行直接启动,一种是安装作为一个服务来启动,我们先用第一种方式
3. 进入Apache24目录下面的bin,我们可以发现确实存在httpd.exe文件,在bin目录下打开命令行,直接输入httpd.exe,我们发现并没有启动成功,报错了
启动错误
显然是因为我们第一步的时候没有按照规定的路劲解压zip导致配置跟现在的路劲不匹配导致,因此,我们可以把文件移动到C盘,也可以修改配置文件,在此我们修改配置文件,把conf/httpd.conf文件的37行修改为

ServerRoot "D:/Study/Apache/Apache24"

然后再启动,发现还是有错误,
启动错误DocumentRoot
这次的是DocumentRoot目录找不到,DocumentRoot目录主要就是放置我们的网站内容的目录,因此这里也可以改成任意位置,这里,我改成了F:/Workspace/www。修改完了后,再次启动, 发现一切正常O(∩_∩)O哈哈~,浏览器打开localhost发现啥都没有,因为我们的网站暂时没有内容,我们可以在F:/Workspace/www下建一个html文件来测试是否正常。

  1. F:/Workspace/www目录下新建一个index.php文件,并且输入内容
<?php
echo phpinfo();

然后刷新浏览器,发现浏览器并没有显示对应的信息,只是显示了

Index of /
index.php

显然这是不正常的,我们要的是要显示当前PHP的信息,这是为啥呢,因为,咱们只是单纯的配置好了Apache,并没有配置好PHP的环境

PHP

下载

安装

我们这里用的是PHP7.0.29版本

  • 解压下载的zip包到D:\Study\PHP\7.0.29,此时D:\Study\PHP\7.0.29目录下有一个php.exe文件
  • 复制一份php.ini-development改名为php.ini
  • 打开php.ini,并且找到extension_dir,将windows前面的那个分号去掉
    > 如果后续有问题,可以将这里的路径改成绝对路径
  • 打开Apache的配置文件conf\httpd.conf,找到LoadModule区域,在其后加入:
LoadModule php7_module "D:\Study\PHP\7.0.29\php7apache2_4.dll"
PHPIniDir "D:\Study\PHP\7.0.29\" #告诉Apache PHP的安装路径
  • 查找 AddType application/x-gzip .gz .tgz,在其下一行添加代码:AddType application/x-httpd-php .php .html
  • 重启Apache,然后刷新浏览器,发现还是一样,url改成localhost/index.php,然后居然正常了
  • 查找DirectoryIndex,在index.html前面加上index.php,重启,刷新,一切正常,完美(#^.^#)

开启多端口站点

  • 在Apache的httpd.conf文件找到Include conf/extra/httpd-vhosts.conf,删除前面的 #
  • 在Apache的httpd.conf文件找到Listen 80,在下方增加Listen 8200
  • 找到extra/httpd-vhosts.conf增加目录,如下:
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "F:/Workspace/www/80"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:8200>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "F:/Workspace/www/8200"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
  • 重启Apache

开启rewrite模块

  • 在Apache的httpd.conf文件找到LoadModule rewrite_module modules/mod_rewrite.so,删除前面的 #
  • 找到DocumentRoot下的AllowOverride None,改为AllowOverride All