前言:

为什么要学php 呢?作为一个前端,一直有着了解后台的好奇心;作为一个计算机毕业的,一直有着实践更多设计模式和数据库相关的东西;而php 非常流行,拥有非常多的资源,入门应该容易;

为什么叫《踩坑学php》?因为每一次的踩坑就是一次提高,填坑就是在实现程序员价值;另外,正因为坑是如此的让人痛苦,足以刺激我早已被塞满的大脑,再次学习新东西;

为什么写blog?因为我在尝试一种新的学习方法,有目标,有计划、系统性地学习;

正文:

前几天开始学习php 的,花了一点时间看了w3school 的php 教程,大概知道很基础很基础的语法;

然后百度了一个php 简单项目开始研究项目代码:https://github.com/udoless/phpbeginner_gmanage

然后是搭建开发环境,使用xampp 是比较简单的,百度了教程

然后就是坑了:

index.php 里面的 seesion_start(); 前面是有html 代码的,和其他教程里面提到的不一样啊?为什么(windows)可以正常运行啊?

果然后来在mbp 上重新部署了代码就出错了:

Warning: Cannot modify header information - headers already sent by

好吧,找参考:

http://blog.csdn.net/FuDesign2008/article/details/6434044

最后是通过改php.ini 的session.auto_start = 1 ,成功的;

虽然只是改一个值,当中已经涉及了相当多的东西了

  1. 有一个叫php.ini 的文件,竟然是负责编译器的配置信息,这在前端是不存在,说方便也方便,但要里面的东西,要多痛苦的经历才能背下来啊?
  2. php 的执行流程
    PHP脚本开始执行时,它可以同时发送header(标题)信息和主体信息。 Header信息(来自 header() 或 SetCookie() 函数)并不会立即发送,相反,它被保存到一个列表中。 这样就可以允许你修改标题信息,包括缺省的标题(例如 Content-Type 标题)。但是,一旦脚本发送了任何非标题的输出(例如,使用 HTML, print()或echo 调用),那么PHP就必须先发送完所有的Header,然后终止 HTTP header。而后继续发送主体数据。从这时开始,任何添加或修改Header信息的试图都是不允许的,并会发送上述的错误消息之一。

    而session 又在header 里面,所以,挂了;(推断 windows 的xampp 默认session.auto_start = 1;)

然后找了一些php 的知识架构:

  1. http://pan.baidu.com/s/1hq9ANsg
  2. http://www.zhihu.com/question/19875503

然后在我的php 知识结构图里面画上了第一笔:

http://naotu.baidu.com/file/96c9ce7895576faf6069855875c6ec63?token=f18bc64953c0bd2a

参考:

  1. w3school:http://www.w3school.com.cn/php/
  2. php.ini:http://php.net/manual/zh/ini.list.php
  3. php 执行流程:http://blog.163.com/lgh_2002/blog/static/44017526201033115937532/

踩坑学php(1)的更多相关文章

  1. 记jQuery.fn.show的一次踩坑和问题排查

    最近很少已经很少用jQuery,因为主攻移动端,常用Zepto,其实很多细节和jQuery并不一样.最近又无意中接触到了PC的需求和IE6, 使用了jQuery,刚好踩坑了,特意记录一下. 本文内容如 ...

  2. 『审慎』.Net4.6 Task 异步函数 比 同步函数 慢5倍 踩坑经历

    异步Task简单介绍 本标题有点 哗众取宠,各位都别介意(不排除个人技术能力问题) —— 接下来:我将会用一个小Demo 把 本文思想阐述清楚. .Net 4.0 就有了 Task 函数 —— 异步编 ...

  3. .NetCore&Linux&Docker&Portainer踩坑历险记

    最近有一个云服务器和数据库的迁移任务,踩坑爬坑无数次,觉得必须要记录一下.大家瓜子花生准备好,听我慢慢讲故事#手动笑哭#. 故事背景 公司是做电商业务的,在天猫有几家旗舰店数据量也很大.阿里有一个称为 ...

  4. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  5. ABP框架入门踩坑-使用MySQL

    使用MySQL ABP踩坑记录-目录 起因 因为我自用的服务器只是腾讯云1核1G的学生机,不方便装SQL Server,所以转而MySQL. 这里使用的MySQL版本号为 8.0. 解决方案 删除Qi ...

  6. Faster_Rcnn在windows下运行踩坑总结

    Faster_Rcnn在windows下运行踩坑总结  20190524 今天又是元气满满的一天! 1.代码下载 2.编译 3.下载数据集 4.下载pre-train Model 5.运行train ...

  7. Net4.6 Task 异步函数 比 同步函数 慢5倍 踩坑经历

    Net4.6 Task 异步函数 比 同步函数 慢5倍 踩坑经历 https://www.cnblogs.com/shuxiaolong/p/DotNet_Task_BUG.html 异步Task简单 ...

  8. Java踩坑之路

    陆陆续续学Java也快一年多了,从开始的一窍不通到现在的初窥门径,我努力过,迷茫过,痛过,乐过,反思过,沉淀过.趁着新年,我希望能把这些东西记下来,就当是我一路走来的脚印. 一.初识网站应用 记得第一 ...

  9. Go“一个包含nil指针的接口不是nil接口”踩坑

    最近在项目中踩了一个深坑--"Golang中一个包含nil指针的接口不是nil接口",总结下分享出来,如果你不是很理解这句话,那推荐认真看下下面的示例代码,避免以后写代码时踩坑. ...

随机推荐

  1. ExtJS 饼状图报表

    简单的ExtJS饼状图报表. 先上源码,咱再慢慢解析: Ext.onReady(function(){ var store = Ext.create('Ext.data.JsonStore', { f ...

  2. (原)VS2013在Release情况下使用vector有时候会崩溃的一个可能原因

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5016352.html 参考网址: http://www.cnblogs.com/BryZ/archiv ...

  3. spring中连接池的配置

    在默认通过myeclipse生成的配置里,spring使用的是apache的dbcp连接池 <bean id="dataSource" class="org.apa ...

  4. vim 常用快捷键 二[转]

    键盘移动 (Move) 一切都从键盘的移动k -> 上 upj -> 下 downh -> 左 leftl -> 右 rightz -> 重画屏幕,当前光标变成屏幕的第一 ...

  5. img元素高度多出来的几像素

    HTML: <div class="test"><img src="body2.jpg" alt=""></d ...

  6. Python之路第十二天,高级(4)-Python操作rabbitMQ

    rabbitMQ RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列(M ...

  7. Css 小技巧总结

    相对偏移 指定left top等属性就能够够完美控制一个元素的位置 如: position:relative; left:2px; 今天遇到一个很好玩的问题,当两个并排浮动框,当一个框的长度太大时就会 ...

  8. C# 操作IE浏览器

    最近的一个B/S系统中,用到了指模录入,当用户按了手指摸之后,要在IE浏览器的一个文本框上显示用户的姓名.由于要监控指模机的输入,因此客户端需要装一个.net控制台程序,通过此控制台程序监控指模机.这 ...

  9. PL/SQL --> 动态SQL调用包中函数或过程

    动态SQL主要是用于针对不同的条件或查询任务来生成不同的SQL语句.最常用的方法是直接使用EXECUTE IMMEDIATE来执行动态SQL语句字符串或字符串变量.但是对于系统自定义的包或用户自定的包 ...

  10. ## GridView 布局:item设置的高度和宽度不起作用、自动适配列数、添加Header和Footer ##

    一.item设置的高度和宽度不起作用 转自:http://www.cnblogs.com/0616--ataozhijia/p/6031875.html [Android Pro] listView和 ...