php5完全攻略_php 5
我很荣幸能够为大家解答关于php5完全攻略的问题。这个问题集合囊括了php5完全攻略的各个方面,我将从多个角度给出答案,以期能够满足您的需求。
1.如何做到TP5路由写的只对INDEX模块生效
2.PHP5不能加载MySQL
3.如何在WINDOWSXP 架设PHP程序
4.php5.3.4 怎么安装ZendGuardLoader-php-5.3-Windows
5.PHP里$_SERVER['HTTP_HOST']和$_SERVER['PHP_SELF']区别
6.如何架设PHP服务器
如何做到TP5路由写的只对INDEX模块生效
模块单独关闭
5.0的路由是针对应用而不是模块的,所以在模块中配置路由是无效的,如果希望某个模块单独关闭或者单独开启路由,是否可以支持呢?
方法是给需要单独关闭或者开启的模块增加新的入口文件,下面以admin模块关闭路由为例说明:
// 定义项目路径
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架基础文件
require __DIR__ . '/../thinkphp/base.php';
// 绑定当前入口文件到admin模块
\think\Route::bind('admin');
// 关闭admin模块的路由
\think\App::route(false);
// 执行应用
\think\App::run()->send();
其它模块仍然以默认的index.php作为入口,无论是采用混合模式还是强制模式,都不会影响admin模块。
以上内容是 官方出的教程 ThinkPHP5路由完全指南 里的
PHP5不能加载MySQL
一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。
安装PHP扩展最简单的办法就是
sudo apt-get install php5-xxx
但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。
这篇文章中我将介绍在本地Linux平台下编译安装PHP扩展的方法。
现在网站根目录下创建 index.php 打印基本的配置信息,以验证我们是否安装成功。
配置编译环境
我们需要安装一些编译必须的库,还有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev
Fedora
sudo yum install php-devel php-mysqlnd gcc libtool
RHEL
sudo yum install php-devel php-mysql gcc libtool
Suse
yast2 -i php5-pear php5-devel php5-mysql gcc
安装扩展
PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。
下面依次介绍两种扩展的安装方法:
安装之前我们需要一份和当前机器上相同版本的PHP源码
cd code
wget 2.php.net/distributions/php-5.5.9.tar.bz2
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9
前往此处 下载相应的源码包。
在 /ext 目录下面可以看到所有PHP原生的扩展。
安装原生扩展
以 PHP-intl 为例,这是PHP国际化的扩展。
为了安装这个扩展我们需要先安装ICU 库
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg
ICU 安装成功之后进入/ext/intl 目录:
cd intl
phpize
./configure --enable-intl
make
sudo make install
下面解释一下上面的每个命令:
phpize : 是用来扩展php扩展模块的,通过phpize可以建立php的模块
./configure --enable-intl: 配置编译环境,相当于告诉编译器编译PHP源码的时候加上intl这个扩展。
make: 将会把源码编译成 intl.so
make install : 将会把 intl.so 移动到当前安装的 PHP 的扩展目录。
接下来我们要做的就是在php.ini中启用这个扩展,这一步将会在最后给出示例。
安装第三方扩展
将以这个 扩展为例,这个扩展主要实现了PHP识别条形码的功能。
先安装必要的依赖
sudo apt-get install pkg-config
git clone /mongodb/mongo-php-driver
cd mongo-php-driver
phpize
./configure
make
sudo make install
将会生成一个文件,将其拷贝到PHP的扩展目录下面。
启用扩展
在php.ini中启用扩展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。
也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。
下面介绍一下第二种方法:
cd `/etc/php5/mods-available`
这个目录里可以放新建的ini文件,然后执行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini
上面的命令将会创建ini文件,并且写如相应的配置信息。
然后执行下面的命令启用扩展即可(需要安装 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl
如果未安装 php5enmod 工具,则需要手动配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini
最后在执行一下重启操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart
如何在WINDOWSXP 架设PHP程序
收集了几条对策,希望对你能有所帮助:
1.在PHP.IHI中打开MYSQL.DLL的加载项
自5开始.默认不再打开MYSQL.DLL了
2.php5ts.dll要复制到windows目录下
3.修改php.ini文件
除了要除去extension=php_mysql.dll的注释符外还要添加extension=php_mysqli.dll项,PHP5中连接MySQL需要添加mysqli这个扩展!
4.libmysql.dll拷到system32下
5.
5.1.在你的php.ini中设定你的extensions的路径:如e:/php5/ext/
5.2.将php_mysql.dll复制到上面给定的目录。
5.3.将php5目录下的libmysql.dll复制到win/system/如果你以apache的方式加载php也可以把该文件放在apache目录。
5.4.重新启动apache或iis
还有很多建议在下面的网址里,找找看吧
祝你好运
php5.3.4 怎么安装ZendGuardLoader-php-5.3-Windows
Apache2.2.4 php5.2.1 mysql 配置方法
第一步:
1.安装好apache2.2和mysql5
假设目录分别为:C:/Apache2.2,C:/MySQL5
2.解压php5.1.1-Win32.zip至C:/php5
3.安装navicat(图形化管理MySQL的工具)
注意:
安装MySQL5的时候,在一切默认安装至有finish按钮时,继续是MySQL的配置
默认选项至输入密码框的时候,记下自己输入的密码,一般为123456
第二步:
一.php.ini的配置
1 找到php5目录下的 php.ini-dist或 php.ini.recommended文件,重命名为 php.ini
并复制到系统盘的windows目录下(以c:\windows为例).
2 再把php目录下的php5ts.dll,libmysql.dll复制到目录 c:\windows\下。
3 打开c:\windows\php.ini文件(关联到mysql)
设置扩展路径
查找 extension_dir 有这么一行
extension_dir = "./"
将此行改成
extension_dir = "C:\php5\ext"
其中C:\php5是你安装php的路径。路径不正确将无法加载dll
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分号去掉)
查找 extension
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_mysql.dl
把上面3项前面的分号去掉,这样apache启动时就可以加载这些dll了
php5时差问题
<?php echo date("Y-m-d H:i:s");?>时间相差八小时
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找date.timezone有这么一行
;date.timezone =
将;去掉,改成
date.timezone = PRC
开启php简写:
找到short_open_tag = Off 改为 short_open_tag = On ;如果已经为on,则不改.
以后就可以用形如 <?=phpinfo();?>的写法的. 功能和<?php echo phpinfo();?>一样.
(二).apache mended。
建议使用 php.ini-recommended,因为在该文件中优化了性能和安全。
将D:\PHP\php.ini-recommended 重命名为 D:\PHP\php.ini 。
再用记事本打开 php.ini ,查找register_globals = Off,把off改成On ,此处一般能解决运行安装论坛时出现空白的问题。
再查找short_open_tag = Off,把off改成On 。
再查找extension_dir = "./" 改为 extension_dir = "d:\PHP\ext"
(指定动态连接库的目录,php5和php4不同的地方就是它的动态连接库目录变了,这在它的文档结构里有详细的说明)
然后再查找;extension=php_mbstring.dll,把下面几句前面的分号去掉
extension=php_mbstring.dll 这个不选的话用phpMyAdmin会出现红色提示
extension=php_gd2.dll 支持GD库的,一般要滴
extension=php_mysql.dll 支持MySQL的
接下来修改了一些文件上传以及内存使用最大限制:
memory_limit = 20M 内存容量
post_max_size = 20M 闪存容量
upload_max_filesize = 20M 附件容量
以上3个地方请大家根据自己的实际需要修改
别的就没改什么了,保存后退出。
接下来要使 php.ini 文件在 Windows 下被 PHP 所用(这一点很重要,否则你的php.ini就不会被系统识别并加载),只需要添加个PHPRC环境变量,步骤如下
我的电脑-> 属性 -> 高级 -> 环境变量 -> 系统变量 -> 在“系统变量”栏中
点击“新建”按钮 -> 在“变量名”中输入“PHPRC”,在“变量值”中输入 php.ini 文件所在的目录(这里是d:\php)->一路点确定
第四步:在IIS中加载 PHP 和ISAPI映射
Internet 服务管理器---网站(右键)---属性---主目录---配置---添加---扩展名为 .php ,单击“浏览”将可执行文件指向 php5isapi.dll 所在路径,此处为D:\php\php5isapi.dll
Internet 服务管理器---网站(右键)---属性---ISAPI 筛选器---添加---筛选器名称写php ,单击“浏览”将可执行文件指向 php5isapi.dll 所在路径,此处为D:\php\php5isapi.dll
Internet 服务管理器---网站(右键)---属性---文档----添加-----默认文档名写index.php,,确定
重启计算机使环境变量设置和iis设置生效.
用记事本新建一个文件,文件内容输入:
<?php
phpinfo();
>保存为 php.php
在浏览器地址拦输入 '$_SERVER['PHP_SELF']=='/index.php'所以前者是主机地址,后者是脚本文件的绝对路径。
扩展资料:
1、新对象模式
*构造函数和析构函数?* 对象的引用 * 对象的克隆 * 对象中的私有、公共及受保护模式 * 接口 (Interfaces)
* 抽象类 * __call * __set 和 __get * 静态成员
2、构造函数和析构函数
在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。
在 PHP5 中,构造函数被统一命名为 __construct,并且引入了析构函数的概念,被统一命名为 __destruct。
3、对象的引用
在PHP4中,传递变量给一个函数或方法,实际是把这个变量做了一次复制,也就意味着你传给函数或方法的是这个变量的一个副本,除非你使用了引用符号“&;” 来声明是要做一个引用,而不是一个 Copy。在 PHP5中,对象总是以引用的形式存在的,对象中的赋值操作同样也都是一个引用操作。
4、对象的克隆
当一个对象始终以引用的形式来被调用时,如果我想得到该对象的一个副本,该怎么办呢?PHP5 提供了一个新的功能,就是对象的克隆,语法为 __clone。
5、抽象类
抽象类不能被实例化。
抽象类与其它类一样,允许定义变量及方法。
抽象类同样可以定义一个抽象的方法,抽象类的方法不会被执行,不过将有可能会在其派生类中执行。
6、__call
PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。
参考资料:
PHP的运行环境
基于PHP语言的论坛可以说是目前最安全而且执行代码效率最高的论坛了,和ASP相比他可以实现和MYSQL更好结合的特点,结合PHPMYADMIN可以更好的管理和维护数据库信息。一般情况下使用apache和PHP搭配比较顺手,不过很多时候由于特定因素和条件的局限,我们要求在IIS基础上建立PHP应用环境。今天笔者就为各位介绍如何在IIS和Windows下建立PHP应用环境。
一、环境需求和准备工作:
笔者选择了PHP5.2版本,而IIS则是XP系统自带的IIS5。首先我们要安装IIS组件,默认情况下在XP系统是没有安装的.
第一步:通过控制面板的添加/删除Windows组件完成IIS组件的安装工作。
第二步:在添加/删除Windows组件选项窗口中我们双击Internet信息服务(IIS),然后把里面的包括internet信息服务管理单元,公用文件,万维网服务选中。
第三步:插入XP SP2系统光盘复制必须文件到本地硬盘,安装完毕后我们可以从“管理工具”中的“internet信息服务”启动IIS程序。
二、安装PHP程序及设置:
安装好IIS后我们就可以发布相应的网站了,但是这时还无法浏览PHP语言建立的页面,我们需要先安装PHP并设置必须的参数。
第一步:下载PHP主程序,笔者使用的是PHP 5.2,解压缩到本地磁盘c盘根目录。
第二步:接下来将PHP文件夹中的php.ini-dist复制到C:WINDOWS目录下并改名为php.ini,复制php5ts.dll和lIBMysql.dll两个文件到
C:WINDOWSsystem32中。
第三步:为了让PHP支持MYSQL和GD库需要编辑php.ini文件,用记事本打开该文件,查找“extension_dir”,然后把extension_dir = "./"修改为extension_dir = "C:phpext";另外还需要把“;extension=php_mysql.dll”前的分号去掉,改成extension=php_mysql.dll。把“;extension=php_gd2.dll”前的分号也去掉,修改为extension=php_gd2.dll。
至此我们的PHP就安装完成了,但是由于默认情况下IIS是不支持PHP的,只能支持ASP。所以还需要我们像建立CGI那样创建PHP的映射关系。
三、配置IIS的PHP映射:
一般情况下设置某语言或执行程序的映射关系都是通过ISAPI筛选器解决的,PHP也不例外。
第一步:打开IIS,在默认网站上点右键选择“属性”。
第二步:找到“主目录”标签,点右下角的“配置”按钮。 第三步:在“添加和编辑应用程序扩展名映射”窗口中,通过浏览按钮找到c:phpphp5isapi.dll文件,扩展名输入.php,这样在解析过程中将自动调用php5isapi.dll解释PHP语言。另外还需要把“脚本引擎”和“检查文件是否存在”选中。 第四步:返回到默认网站属性窗口的“主目录”标签,将执行权限修改为“脚本和可执行文件”,这样才能够执行PHP程序。 第五步:来到默认网站属性窗口的“文档”标签,将index.php添加到默认文档列表中。 第六步:新建立一个TXT文本文件,内容如下。将其保存成index.php文件并复制到网站发布目录中。<?
echo phpinfo();
> 第七步:在IIS中浏览index.php页面文件就能够看出真正的内容了,这说明我们的PHP环境已经搭建成功。如果index.php无法正常显示那么我们再来到默认网站属性中的ISAPI筛选器标签,添加一个名为PHP的筛选器,可执行文件选择c:phpphp5isapi.dll即可,这样设置后往往可以解决实际问题。 第八步:当然我们修改设置后需要重新启动IIS或者干脆直接启动计算机即可,重新启动后PHP文件就可以顺利显示了。重新启动IIS的方法是关闭“IIS ADMIN”服务或者直接在默认网站上点右键选择“停止”再“启动” 四、总结:总体上讲IIS下PHP的运行还是比较稳定的,虽然在执行效率上不如apache与PHP搭配得更如意,但是在企业服务器上必须使用IIS或者多个网站一起通过虚拟目录发布时我们就不得不选择本文介绍的方法来搭建PHP环境了。另外Apache的最新版本和PHP5也存在一定的兼容问题,直接采用IIS与PHP5搭配更可以减少不必要的兼容问题带来的麻烦。
再装Apache啊! 要数据库的话就用MYSQL数据库
一.php的安装与调试
由于php是一个zip文件(非install版),安装较为简单,解压就行。把解压的 php5.2.1-Win32重命名为 php5。并复制到C盘目录下。即安装路径为 c:\php5
1 找到php目录下的 php.ini-dist或 php.ini.recommended文件,重命名为 php.ini
并复制到系统盘的windows目录下(以c:\windows为例).
2 再把php目录下的php5ts.dll,libmysql.dll复制到目录 c:\windows\system32下。
3 把php5\ext目录下的php_gd2.dll,php_mysql.dll,php_mbstring.dll文件复制到c:\windows\system32下
如果没有加载 php_gd2.dll php将不能处理图像。没有加载php_mysql.dll php将不支持mysql函数库
php_mbstring.dll在后面使用phpmyadmin时支持宽字符。
4 打开c:\windows\php.ini文件(关联到mysql)
设置扩展路径
查找 extension_dir 有这么一行extension_dir = "./"
将此行改成
extension_dir = "C:\php5\ext"
其中C:\php5是你安装php的路径。路径不正确将无法加载dll
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分号去掉)
查找 extension
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_mysql.dl
把上面3项前面的分号去掉,这样apache启动时就可以加载这些dll了
当然前面我们也把这些dll复制到system32下了l
php5时差问题
<?php echo date("Y-m-d H:i:s");?>时间相差八小时
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找date.timezone有这么一行
;date.timezone =
将;去掉,改成
date.timezone = PRC
二.apache的调试和整合
1.修改网站根目录
查找 DocumentRoot有这么一行
DocumentRoot"C:/Program Files/Apache Group/Apache2/htdocs"
这就是你网站的根目录,你可以修改,也可以用默认的.如果改,还要修改下面这项,否则可能会出现 403 错误
查找 This should be changed to whatever you set DocumentRoot to
在它下面两行有
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
把上面两项的 C:/Program Files/Apache Group/Apache2/htdocs 改成你想要的目录
2.让apache支持*.php(网页)
查找 DirectoryIndex index.html index.html.var
修改成
DirectoryIndex index.html index.html.var index.php
这样index.php 可以充当默认页面了
3.Apache中模块化安装php
查找 # LoadModule foo_module modules/mod_foo.so
在此行后加入一行
LoadModule php5_module C:/php5/php5apache2.dll //注意:其中C:/php5/php5apache2.dll是你安装php的相应路径.不要把php5apache2.dll和php5apache.dll混淆.php5apache.dll只适用于apache 版本1的.PHP5压缩包里的php5apache2.dll只适用于apache2.0.*版本,如果是2.2.*以上版本,就可能会出现"Cannot load C:/php/php5apache2.dll into server: The specified module could not be found."或者:"The requested operation has failed"
4.查找 AddType application/x-gzip .gz .tgz
在此行后加入一行
AddType application/x-httpd-php .php (记住:前边有一个空格哦!!!)
这样apache就可以解释php文件了
5.测试
在网站根目录下创建一个 phpinfo.php 文件
<?php
phpinfo();
>在浏览器打开
http://localhost/phpinfo.php
5.测试php和mysql数据库的关联
在网站根目录下创建一个test.php 文件
<?php
$link=mysql_connect("localhost","root","12345"); //12345改成你的mysql密码
if(!$link) echo "失败!";
else echo "成功!";
mysql_close();
>在浏览器打开 http://localhost/test.php
如果输出成功,则说明大功告成了
好了,今天关于“php5完全攻略”的话题就到这里了。希望大家能够通过我的讲解对“php5完全攻略”有更全面、深入的了解,并且能够在今后的生活中更好地运用所学知识。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。