阅读更多

47顶
10踩

编程语言

原创新闻 今天,PHP 15岁了!

2010-06-09 11:59 by 副主编 just_cool 评论(27) 有10318人浏览

今天,是PHP的15岁生日

 

1995年的6月8号(当地时间),Rasmus Lerdorf 发布了PHP的第一个版本——当时名为Personal Home Page Tools (PHP Tools),最原始的发布日志还能在网上找到:http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133

 

随后不久,PHP 2.0发布了;98年6月发布了3.0版本;2000年5月22号,发布了4.0版本;2004年6月13号,5.0版本发布。

 

PHP语言简介:

  PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与 其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可 以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

来自: sitepoint
47
10
评论 共 27 条 请登录后发表评论
27 楼 rivercg 2010-06-12 09:53
php还是方便啊
26 楼 pdreamer 2010-06-12 09:34
第一次看到这么宽容的评论
25 楼 yongdi2 2010-06-11 17:53
php最强大的是数组
24 楼 小林信仁 2010-06-11 16:01
支持一下,毕竟以前用过。
23 楼 starcheney 2010-06-11 13:25
PHP 万岁,万岁,万万岁!
22 楼 hantsy 2010-06-11 12:47
php 下乱七八糟的框架是它的优点,也是缺点。
5.3 是 php 的一次升华,特别是实现了 namespace,让它第一次与其它 OOP 语言站在同一起跑线上。
现在cake 2.0, zend 2, symfony 2.0 都在开发中,其中 zend 2 和 symfony 2 都是基于 5.3,cake 2 只说不再支持 php 4,全面向 OOP 编程方式迁移。相信 5.3 普及之后,PHP 框架会重新洗牌。

21 楼 lvjianlong 2010-06-11 12:43
php中的函数很好用啊!
20 楼 steafler 2010-06-11 10:48
Java也15岁了
19 楼 zhuxinyu 2010-06-11 08:47
疯狂的PHP,祝你生日快乐
18 楼 sjgau 2010-06-10 20:09
有這麼久嗎?

我是先學過 ASP, 再來學 PHP.

目前,想要學 JSP
17 楼 左看右看 2010-06-10 12:44
祝贺一下!
16 楼 七月十五 2010-06-10 11:05
发布新闻的时候已经是昨天的事了,现在是前天的事了
15 楼 85977328 2010-06-10 11:05
一直从事j2ee和.net平台的工作, PHP一直没机会接触
希望PHP变的更优秀,让语言之间充满竞争,这样开发语言才能健康的发展
14 楼 longware 2010-06-10 10:13
             
13 楼 matyhtf 2010-06-10 09:58
支持PHP,期待PHP6!
12 楼 181054867 2010-06-10 09:42
JSP,java是主流啊
11 楼 superwen 2010-06-10 09:28
做PHP9年了。
10 楼 burnquist 2010-06-10 09:15
PHP生日快乐
9 楼 qsyhcd 2010-06-10 08:51
生日快乐!!PHP忠实粉丝,发来贺电!!
8 楼 kaki 2010-06-10 08:42
PHP 改变日常工作,生日快乐!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 根据进程名获取启动参数

    #define STATUS_SUCCESS                   ((NTSTATUS)0x00000000L) #define STATUS_INFO_LENGTH_MISMATCH      ((NTSTATUS)0xC0000004L) typedef enum { ObjectNameInformation = 1 } OBJECT_INFORMATION_CLASS;

  • [Rootkit] 修改 peb 隐藏 dll(断链)

    原理 PEB 中有一个成员 Ldr: typedef struct _PEB { UCHAR InheritedAddressSpace; UCHAR ReadImageFileExecOptions; UCHAR BeingDebugged; UCHAR BitField; ULONG ImageUsesLargePages: 1; ULONG IsProtectedProcess: 1; ULONG IsLegacyProcess:

  • 通过修改peb中的命令行参数字段实现进程创建的劫持

    之前分析过的一些恶意软件中会使用这种方法来进行浏览器的主页劫持,其原理就是在进程创建回调函数中处理进程的创建消息。下面示例展示了如何修改命令行参数:以abcdefg.exe进程为例,其完整文件路径为:"C:\Users\1909\Desktop\abcdefg.exe";进修改后变为:"C:\Users\1909\Desktop\abcdefg.exe" -124,当然也可以变为:"C:\Users\1909\Desktop\abcd.exe" -124。

  • WindowsXP下获取命令行参数

    1)背景 最近有个需求在WindowsXP下通过PsSetCreateProcessNotifyRoutine注册了一个进程创建回调,然后尝试通过PEB来获取被创建进程的命令行参数,发现PEB结构中的命令行等相关数据还没有被填充进去。 通过查看GetCommandLineA函数的反汇编,得知进程的命令行保存在一个固定的地址0x7C8855F4 MOVE EAX, DWORD PTR [0x7C8855F4] RETN 在进程创建回调中,附加到目标进程,再查看这个地址的数据,如下所示。 因为时机还不对,这

  • 1 保护模式

    为了对数据进行保护,普通代码段是禁止不同级别进行访问的。用户态的代码不能访问内核的数据,同样,内核态的代码也不能访问用户态的数据;如果想提供一些通用的功能,而且这些功能并不会破坏内核数据,那么可以选择一致代码段,这样低级别的程序可以在不提升CPL权限等级的情况下访问。如果想访问普通代码段,只有通过调用门等提升CPL权限,才能访问。跨段调用时,一旦有权限切换,就会切换栈;CS的权限一旦改变,SS的权限也要随着改变,CS与SS的等级必须一样;

  • Windows 得到一个进程的完整路径

    头文件中:    #pragma once#include <windows.h>#include <iostream>using namespace std;#define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0)typedef struct _UNICODE_STRING{ UINT16 Length; UINT...

  • JIURL玩玩Win2k进程线程篇 PEB(转)

    JIURL玩玩Win2k进程线程篇 PEB 作者: JIURL 主页: http://jiurl.yeah.net PEB,Process Environment Block ,进程环境块。位于用户地址空间。在地址 0x7FFDF000 处。所以用户进程可以直接访问自己的 PEB 结构。Win2k Build 2195 中进程的 EPROCESS 结构偏移+1b0 处的 *Peb

  • Windows各版本EPROCESS结构

    Windows XP: +0x000 Pcb : _KPROCESS +0x000 Header : _DISPATCHER_HEADER +0x010 ProfileListHead : _LIST_ENTRY [ 0xffbcc030 - 0xffbcc030 ] +0x018 DirectoryTableBase : [2] 0x2807000 +0x020 LdtDescript

  • PEB进程环境块分析研究

    # 2015-08-01 Peb(Process Environment Block)简单学习及分析 文章目录 1. PEB结构初探2. Peb应用程序代码 参考资料: Google peb site:pediy.com PEB结构——枚举用户模块列表 修改已加载DLL的模块名和路径 PEB结构初探 windows系统中通过各种结

  • Windows进程线程

        EPROCESS:进程控制块;它代表着Windows的一个进程,“E”表示管理层(Executive)     KPROCESS:它是EPROCESS内部的一个成分,其名称就叫Pcb,所以是核心层进程控制块。K表示Kernel    用户空间中与进程有关的数据结构是“进程环境块”PEB(Process Enviroment Block)。PEB中记录着进程的运行参数,映像装入地址等

  • 获取任意进程的命令行参数

    来源网络,亲测有效Delphi 2009 unit Unit2; interface     function GetProcessCmdLine(PID: Cardinal): string; implementation uses Windows; const   SystemHandleInformation = 16;   ProcessBasicInformation = 0...

  • ring0获取指定进程的PEB

    #ifndef TYPEDEF_H #define TYPEDEF_H typedef PPEB (__stdcall *P_PsGetProcessPeb)(PEPROCESS); typedef unsigned char BYTE; typedef struct _RTL_USER_PROCESS_PARAMETERS { BYTE Reserved1[16];

  • 通过 PEB 改变进程名,实现“穿透”防火墙

    PEB(Process Environment Block)——进程环境块,存放进程信息,每个进程都有自己的 PEB 信息。在 Win 2000 下,进程环境块的地址对于每个进程来说是固定的,在 0x7FFDF000 处,这是用户区内存,所以程序能够直接访问。准确的 PEB 地址应从系统的 EPROCESS 结构的 1b0H 偏移处获得,但由于 EPROCESS 在进程的核心内存区,所以程序不能直

  • 进程强杀(最简单的)

    //头文件 struct.h#pragma oncetypedef long LONG;typedef unsigned char BOOL, *PBOOL;typedef unsigned char BYTE, *PBYTE;typedef unsigned long DWORD, *PDWORD;typedef unsigned short WORD, *PWO

  • 枚举进程(2)——利用EPROCESS/PEB地址特征进行内存搜索

     两个搜索特征:(1)观察所有进程的EProcess结构地址,可以发现都在0x80000000到"system"进程的EPROCESS之间。这就表明所有EPROCESS结构中的peb指针域也应该在这个区间。这就可以大致确定搜索范围。不过在实际测试(xp2)中发现winlogon的EPROCESS大于system的EPROCESS,因此还需要修正搜索范围的最大值。如果对效率要求比较高,还可以把搜索范

  • Windows版本和检测

    Windows版本和检测 前天在研究PEB位置时发现自XPSP2之后就开始随机变动位置了,而不是想以前那样固定在0X7FFDF000上了.我突然想起以前转发的一篇文章非API函数检测操作系统类型>,此文中就是将PEB位置是否为OX7FFDF000作为区分WINNT和WIN9X的标志的.现在PEB的位置也不固定了,看来判断条件得修正一下了. Windows版本号分为操作系统版本号和服

  • WinDBG 技巧:显示进程/线程环境参数(!peb 和 !teb 命令)

    首先介绍PEB和TEB概念: PEB(Process Environment Block,进程环境块)存放进程信息,每个进程都有自己的PEB信息。位于用户地址空间。 TEB(Thread Environment Block,线程环境块)系统在此TEB中保存频繁使用的线程相关的数据。位于用户地址空间,在比 PEB 所在地址低的地方。进程中的每个线程都有自己的一个TEB。 调试的程序...

  • 玩转java多线程学习篇一多线程基础

    一:线程和进程的概念 1,进程:进程是操作系统的基础,是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位,一个进程至少一个线程。(比如windows系统中的进程列表)。 2,线程:线程可以理解为在进程中独立运行的子任务(比如QQ运行时候很多子任务在同时运行,视频线程,下载文件线程,发送表情线程

  • PEB结构----枚举用户模块列表

    参考文章:1.  http://blog.csdn.net/ayken/archive/2...3/1509027.aspx2.  http://icwin.net/ShowArtitle.ASP?art_id=6315&cat_id=39本文在主主要以上述两篇文章为基础,对PEB的结构进行了详细的分析,重点是在揭示PEB结构中的list—entry的应用,并且以C语言Code进行实证。本文主要分

Global site tag (gtag.js) - Google Analytics