php-5.x.x-Win32.zip的组织 php 5.2.6 win32.zip
不知分析过php文件组织的人多不多,我个人有最小化倾向,总喜欢把一个东西拆开来然后重新一块块拼起来,这回拿php压缩包开涮:)
最小化情况下的php其实只需要两个文件就能运行了: php5ts.dll和一个sapi(Server API,说白了就是接口),如php.exe或
php5apache2_2.dll,等等。php语言的完整功能都集中在一个动态链接库 php5ts.dll 里,其它都是外设 :) 这个名字也不是乱取的,
ts实际上是线程安全的缩写。所以,如果需要一个命令行脚本解释器,那么 phpt5s.dll + php.exe 就足够,如果需要以apache模块的
方式运行php解释器,那么 php5ts.dll + php5apache2_2.dll 就足够(根据apache版本加载相应的sapi)。
这种情况下,其实还隐含了一个文件,想必你也猜出来了,就是 php.ini 文件。当没有给php提供配置文件时,它会默认使用一个配置文件,
这个文件就是php.ini-dist。所以,在前两个文件的基础上,再加上一个php.ini文件,就可以完全定制php的行为了。
在哪寻找这个 php.ini 是由sapi决定的,比如命令行下可以用 php -c 来控制加载哪个 php.ini,apache模块里可以用httpd.conf的PHPIniDir
来决定在哪寻找 php.ini,等等。
那么,sapi运行时在哪找php5ts.dll? 首先是在sapi的当前目录,如果找不到,就到PATH目录去找。这个跟后面会讲到的“扩展加载外部库”
实际上原理是一样的,不过有一点区别:php_xxx.dll加载外部库时,外部库跟php_xxx.dll在同一个目录下并没有用,而必须在PATH或调用
php_xxx.dll的sapi目录下才行,以前很多人安装php时,把php5ts.dll和libmysql.dll拷贝到apache的bin目录下就是这个原因。
现在有三个文件了: php5ts.dll, sapi, php.ini。该是添加php扩展的时候了,这些众多的扩展才是php的威力所在!怎么通向扩展?总得
有条路子对不对,呵呵。这条路子就是php.ini里的 extension_dir 配置项。把这个配置项设为 php 扩展的路径,就可以把这些php扩展
导到php里。设置了 extension_dir 选项后,就往这个目录下塞你需要的扩展,然后在 php.ini 里做个记号:extension=php_xxx.dll即可。
扩展并不是都是同一类的,有些扩展本身自己实现了功能函数,有些扩展则链接到外部函数库(zend扩展不在讨论之列)。比如
php_gd2.dll,php_socket.dll,php_memcached.dll,都是自己实现了功能函数;而php_mysql.dll,则是链接到外部函数库的,这个外部
库就是我们熟悉的libmysql.dll。还有其它扩展如oci,也需要外部函数库。
那么,需要外部函数库的扩展,到哪去找这些函数库?一个地方是调用sapi的目录,另一个地方是PATH环境变量定义的目录。前面说过,
跟扩展在同一个目录下是没有用的,除非这个目录也在PATH里。php包的根目录下一大堆的libxxx.dll,fdftk.dll,ssleay32.dll,yaz.dll等等
都是外部函数库。
除了上面讲的这些最核心的文件外,还有其它几个文件和目录,这些目录基本上是给开发和扩展php用的,应用层的php程序基本用不到
这些文件和目录。不过这里有一个例外,就是go-pear.bat文件和PEAR目录,这些是安装PEAR用的,PEAR是一套可复用的类库,可以在
多个项目中复用这些代码。关于PEAR的详细介绍我就不讲了,已经有很多文章介绍这个了,呵呵。
大致就先写这些,有什么想法大家多讨论讨论:)
更多阅读
授权转载 翼之梦字幕组 「无法逃离的背叛」DVD第4、5、6、7卷 涅瓦字幕组 背叛
「无法逃离的背叛」DVD第4卷限定特典DISC-『夕月守护会-出张版-』(第1弹)[福山潤井上麻里奈]「无法逃离的背叛」DVD第5卷限定特典DISC-『夕月守护会-出张版-』(第2弹)[小野大輔宮野真守]「无法逃离的背叛」DVD第6卷限定特典DISC-『夕月守护
泰州市教育局关于实施素质教育“5+2”工程的意见 泰州市姜堰区教育局
泰州市教育局关于实施素质教育“5+2”工程的意见各市(区)教育局、泰州医药高新区科教局,市直各学校:为深入贯彻党的十八届三中全会精神,形成全市推进素质教育的有效形式和长效机制,市教育局经过广泛调研和论证后决定,从2014年秋学期开始,
电影《璀璨的婚礼》5月6日成都开机导演:原野演员导演:北京韩韩
韩笔:(见组前请电话联系确定地址和开机日期)电影《璀璨的婚礼》5月6日成都开机编剧:柴盛怀(台湾)、廖士元(台湾)导演:原野 演员导演:北京韩韩【电影《璀璨的婚礼》5月6成都开机编剧:柴盛怀(台湾)、廖士元(台湾)导演:原野演员导演:北京韩韩】
6.1.X系统下的UDIDFaker使用时候闪退解决办法 udidfaker闪退
6.1.X系统下的UDIDFaker使用时候闪退,解决办法很简单:1.先删除UDID Faker2,添加源"http://cydia.xsellize.com"并安装iADKiller 插件3.安装并重新启动4.再安装回UDID Faker5.重新启动并使用。
能被2、3、4、5、6、7、8、9等数整除的数的特征 能被7整除的数的特征
能被2、3、4、5、6、7、8、9等数整除的数的特征性质1:如果数a、b都能被c整除,那么它们的和(a+b)或差(a-b)也能被c整除。性质2:几个数相乘,如果其中有一个因数能被某一个数整除,那么它们的积也能被这个数整除。能被2整除的数,个位上的数能