PHP伪静态
前言
在用PHP语言开发网站的时候,伪静态是一个绕不过去的一道坎,在PHP中设置伪静态对于老手来说是手到擒来,但是对于新手来说稍微有点难度,还没有掌握的小伙伴们不要着急,下面跟着小编一起来学习吧。
正文
一、Apache的伪静态配置
1、网站根目录下需要有 .htaccess 文件,没有则自己创建一个,内容为
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>如果你的apache是fastcgi模式下,则需要修改
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]替换成 RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
2、在apache的配置文件httpd.conf中查找 : LoadModule rewrite_module modules/mod_rewrite.so 将前面的#去掉,假如没有这段内容,则需要手动加上3、在apache的配置文件httpd.conf中查找所有的 AllowOverride None,将 None 都替换成 All . 保存文件 并重启apache服务。
二、Nginx的伪静态配置找到nginx的配置文件 nginx.conf, 在里面的 server{ } 里增加以下内容
location / {if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }
重启nginx即可生效
三、IIS的伪静态配置如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:
RewriteRule (.*)$ /index\.php\?s=$1 [I]
在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:
<rewrite><rules> <rule name="OrgPage" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll"> <add input="{HTTP_HOST}" pattern="^(.*)$" /> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php/{R:1}" /> </rule> </rules> </rewrite>
结尾
通过本文的学习各位小伙伴们对于PHP中如何设置伪静态是不是学会了,那好以后还需要小伙伴们自己多多练习探索啊。
大家好!我们写的代码想要运行起来就必须要有环境,没有执行环境代码是运行不起来的,那么如何搭建一个最简单环境呢?搭建环境有两种方式:一:linux系统环境下面编译安装。二:win系统一键安装包。为了让新手能快速入门,我这里只讲Windows系统(win7/win8/win10)环境下一键安装包的搭建方式,毕竟新手对Windows操作很熟悉。
一:PHP一键安装包的方式。
所谓一键安装包就是把apache+mysql+php全部集成安装好,简单省心。到现在很多中级程序员,甚至少数高级程序员都是用一键安装包搭建自己的运行环境。
下载一键安装包。我推荐去phpstudy的官网上面下载选择Windows版本的。
下载phpstudy一键安装包下载之后,点击exe结尾的执行文件。记得不要用用默认安装,默认的话会安装在C盘里面。所有下载安装的软件尽量不要安装在C盘,这个是常识。要选择自定义安装在D盘或者E盘里面。
2:如何启动一键安装包。
点击启动apache按钮apache启动之后的界面安装完成后,点击apache的启动按钮,php运行环境搭建好了。暂时mysql可以不启动,mysql是存放数据用的。后面再教大家如何使用mysql。
2:配置虚拟域名。
由于工作实际开发过程中都是用域名来访问,比如后面用的Laravel框架,thinkphp框架都是配置域名来访问的,所以我们就配置一个域名来访问服务器。
配置虚拟域名在phpsudy控制面板里面,选择最下面的【设置】-》hossts,用记事本打开输入127.0.0.1 test100.com。这个网址(域名)是随便取的,可以根据自己的爱好修改,记得保存。意思就是我在浏览器访问test100.com这个网站,实际上是访问自己本电脑的apache服务器。顺便补充一下上图IP地址前面的#号是失效的意思,和删除是一个道理,所以正常使用的前面就不要加#号了。
3:配置虚拟域名的艮目录。
配置网站域名的根目录继续选择最下面的【网站】-》【新建网站】-》【基本配置】域名一栏,填写刚才自己的域名,比如test100.com。根目录的路径写到安装phpstudy的www目录下面,点击保存。
4:测试php运行环境。
访问搭建的php运行环境在浏览器里面输入刚才的网址(域名),提示站点创建成功。ok大功告成,估计不会写代码的人也会搭建了,以后就可以建设自己的网站了。记得www是根目录,php代码都要放在这个目录(文件夹)里面,放在别的地方就运行不了。有疑问的请给我留言,乐于效劳。
前言
在Linux上安装软件,有rpm方式和yum方式,使用rpm方式需要事先下载到rpm包,如果是yum方式则需要外网的支持,本文主要介绍yum方式如何来安装php的支撑环境apache。
apache安装
1.httpd的安装
yum -y install httpd
Apache的主配置文件:/etc/httpd/conf/httpd.conf
2.php的安装
yum -y install php
安装完php后有选择的安装一些扩展
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
查看安装的版本
php -v
3.开放80端口
在这种情况下,如果我们没有关闭防火墙,就需要放开80端口,不然是访问不了的。在前面的文章中我们已经介绍过如何通过firewall开放80端口。
命令:firewall-cmd --add-port=3306/tcp --permanent
systemctl restart firewalld
扩展阅读
httpd的启动停止
命令:systemctl start httpd
systemctl stop httpd
一般情况下,php和mysql数据库是绝配,在linux服务器下安装mysql的文章在前面我们已经介绍过,这里不再细说(详见Linux下一键Shell脚本安装Mysql5.7.16)。
thinkphp框架的使用需要安装php、apache和sql,在windows下可以使用phpStudy来快速搭建运行环境,适合新手在家里电脑操作学习。
首先网上搜索phpStudy下载后是一个压缩包,打开后直接点击phpStudy*** ***位置是版本号,直接全部默认下一步即可。
解压安装phpStudy安装完成后,点击“切换版本”来选择我们需要的php版本,最新的php是7。
phpStudy版本切换点击切换版本后会出现php+apache 、php+Nginx、php+IIS的选择,如果安装了iis的话,可以选择iis,这里我们使用php5.6+Apache的版本。
phpStudy设置php5.6+Apache由于5.5以上版本需要安装vc运行库,所以会出现如下提示,点击确定后会弹出一个网页,网页中有对应运行库的下载地址。
提示缺少vc运行库网页中有对应版本的下载说明,点击下载的地址后就能够下载对应的程序,也可以自行百度vc11 进行下载。
下载vc11下载后点击vc11 32位的压缩包,如果你的电脑是64位的,需要下载64的vc11。直接双击安装即可,没有多余设置。
vc11接下来下载php框架thinkphp的程序,进入图片中地址可以下载到thinkPHP5.0.20版本的完整版。
thinkPHP5下载下载完成后,我们需要建立一个站点用来存放程序文件,在phpStudy中点击“其他选项“ -> 站点域名管理。
phpStudy建立站点输入域名,这里是本地,可以输入127.0.0.1或者localhost都行,网站目录可以是你硬盘上的任何文件夹,默认文职是phpstudy安装目录下的WWW文件夹,点击新增后再点击保存设置并生成配置文件即可。
phpStudy设置站点属性下面来修改一下站点的运行目录,由于thinkPHP的入口是在public下,所以这里需要修改一下,点击”其他设置“->打开配置文件->vhosts-conf
vhosts-conf配置文件会以一个文本文件的方式打开,你会看到documentroot和directory的路径是一样的,只需要在documentroot后面加上\public就可以了,点击保存。
vhosts,conf文件内容修改设置后需要重启一下apache才能生效。
重启phpStudy将下载到的thinkphp5解压,可以得到下图中的内容,把所有文件复制到网站的根目录,也就是之前设置中那个WWW\web的文件夹内。
thinkphp所有文件到这里,就可以去试试了,在浏览器中输入127.0.0.1会得到下面这个内容,如果出现,说明已经安装成功了。
thinkPHP安装成功
今天安装了apache服务器,配置了一下php环境。虽然遇到了挫折,但最终还是解决了。安装步骤总结如下:
1.首先,下载好 apache的安装包,我下载的是httpd-2.4.41-o111c-x64-vc15-r2.zip这个版本;
下载php的安装包,我下载的是 php-7.3.15-Win32-VC15-x64.zip这个版本;
2.接着将 httpd-2.4.41-o111c-x64-vc15-r2.zip 压缩包直接解压,我直接放在D盘下的Apache24文件夹中做演示,解压后的apache服务器目录列表截图如下:
解压后的Apache服务器的目录列表3.安装apache服务器,使用Administrator管理员用户打开cmd.exe窗口;
注意,此时一定要是使用Administrator管理员用户运行cmd.exe文件,使用普通用户运行的cmd.exe没有安装apache服务器的权限。
3.1管理员用户运行cmd.exe的操作步骤是:在 C:\Windows\System32 目录下面找到cmd.exe文件,鼠标右击,选择“以管理员身份运行”;
3.2运行界面如下:
使用管理员的权限运行cmd窗口这是普通用户运行的cmd窗口,这个是没4.在cmd窗口中切换路径到解压后的apache服务器目录下,从C:\Windows\System32 路径切换到D:\Apache24\bin路径下,截图如下:
切换路径到apache服务器的bin文件目录5.在cmd窗口中输入: httpd -k install -a "apache" ,回车 ;
安装apache服务器的命令5.1如果出现提示vcruntime140.dll文件丢失的报错,那么就在C:\Windows\System32的路径下面把vcruntime140_clr0400.dll文件复制一份,把复制的文件名称修改为vcruntime140.dll文件放在C:\Windows\System32的路径下面即可。然后,在cmd窗口再次执行安装命令。
6.此时,apache服务器安装成功。
7.接下来,配置php环境,将php-7.3.15-Win32-VC15-x64.zip直接解压, 我解压在D盘下的php-7.3.15-Win32-VC15-x64文件夹中做演示,解压目录截图如下
解压的php文件目录8.在apache服务器的D:\Apache24\conf路径下面找到httpd.conf文件,截图如下:
9.打开httpd.conf文件,在文件中的 LoadModule 模块下面增加对 php 的加载配置:
9.1设置apache2_4载入php7处理模块,增加语句如下:
LoadModule php7_module D:/php-7.3.15-Win32-VC15-x64/php7apache2_4.dll
9.2指定php的ini文件,该文件是对php的初始化配置,增加语句如下:
PHPIniDir "D:/php-7.3.15-Win32-VC15-x64"
9.3处理php文件的类型,增加语句如下:
AddType application/x-httpd-php .php .phtml
截图如下:
10.此时,在apache服务器下配置PHP环境完成。
11.下面可以测试一下,在apace服务器的D:\Apache24\htdocs路径下面新建php文件,文件名为:test.php,截图如下:
新建test.php文件12.在test.php文件中编写php代码,代码如下:
<?php
//定义一个变量
$a="Hello World";
//打印在页面
echo $a;
?>
13.启动 ApacheMonitor.exe,点击“Start”按钮启动apache服务器,截图如下:
14.打开浏览器,输入http://lcoalhost/test.php,回车运行即可,截图如下:
15.正常输出 Hello World ,说明apache服务器可以正常解析php语法了。
快速开始,绝无废话
我的linux服务器系统是CentOS 6.5
1,安装apache:
yum install httpd
apache的文件目录 /var/www/html
apache启动,停止,查看状态的命令:
service httpd startservice httpd stopservice httpd status
配置文件 /etc/httpd/conf/httpd.conf
修改端口(默认是80) Listen 8082
修改ServerName ServerName localhost:8082
测试,能出来页面OK了
2,安装php
yum install phpphp-devel
安装好后,php -v 查看一下
能出来版本说明ok
再重启一下apache
service httpd restart
写个php页面测试
在apache的文件目录 /var/www/html下,创建一个test.php
<?php echo "Hello world!"; ?><?php phpinfo(); ?>
保存后,回到浏览器测试
完成,
3,连接mysql
mysql的安装,略。公司有DBA,呵呵。
先安装php的扩展
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
安装完扩展之后需要再次重启apache
service httpd restart
测试mysql是否链接成功的php代码
<?php$servername = "localhost"; $username = "username";$password = "password"; $dbname = "数据库名"; $port = "端口"; // 创建连接$conn = new mysqli($servername, $username, $password, $dbname, $port); // 检测连接if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功";?>
完成。开始撸代码。
P.S:
吐槽一下,百家号这个编辑器,贴个代码是真费劲啊
macOS系统下配置PHP开发环境有许多方式,有的人使用集成开发环境如XAMPP、MAMP等,也有的人使用虚拟机(如Virtualbox)搭建LNMP/LAMP环境。
其实macOS系统自带Apache和PHP软件包,只是默认情况下没开启,只需配置开启即可。
系统软件:
macOS Catalina 10.15.4Apache 2.4.41PHP 7.3.11配置Apache+PHP
第一步、查看软件包版本号和安装目录
第二步、启动Apache
执行命令:sudo apachectl start
第三步、配置Apache支持PHP模块
执行命令:sudo vi /private/etc/apache2/httpd.conf
找到行“#LoadModule php7_module libexec/apache2/libphp7.so”将字符“#”删除。
找到行“User _www”改成“User 你的用户名“。
在文件尾部添加以下内容:Include /private/etc/apache2/extra/sites.conf。
第四步、创建站点配置文件
执行命令:sudo vi /private/etc/apache2/extra/sites.conf输入以下内容:
第五步、重启Apache
执行命令: sudo apachectl restart
第六步、测试PHP环境是否正常。
配置PHP扩展编译环境
macOS系统PHP默认安装一些扩展(查看命令:php -m),但是有些时候我们需要额外安装一些扩展,则需要以源码形式编译。
第一步、关闭macOS Rootless机制
macOS从10.11起默认启动了Rootless机制,也就是不允许用户往/usr、/system、/sbin这3个目录写入操作。
重启macOS,长按Command(Window)键 + 字母R 进入恢复模式
进入恢复模式后,点击顶部实用工具选择终端
执行命令:csrutil disable && reboot
第二步、创建Include软链接
执行命令:sudo mount -uw /
执行命令:sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include /usr/include
第三步、安装autoconf
执行命令:brew install autoconf
编译安装PECL扩展
第一步、下载扩展压缩包
登录网站pecl.php.net搜索并下载需要的PECL类库,选择".tgz"版本
第二步、解压压缩包
执行命令:tar xvf XXXX.tgz
第三步、编译扩展
执行命令:cd 解压后目录 && phpize && ./configure && make && sudo make install
第四步、配置启用PHP扩展
执行命令:sudo vi /etc/php.ini输入以下内容
extension = "扩展文件完整路径.so"
第五步、重启Apache
执行命令: sudo apachectl restart
对于我们做seo的新朋友来说,常常需要做各种网站在本地测试,那么就需要我们搭建本地环境,比如:wordpress本地环境搭建、(DEDECMS)织梦本地环境搭建、discuz本地环境搭建等PHP本地环境搭建。
那么今天就给大家分享一个php本地环境搭建的软件:phpStudy!这款软件适合于wordpress本地安装、(DEDECMS)织梦本地安装、discuz本地安装等基于php语言的程序都可以安装。
为什么要搭建PHP本地环境
(1)、更利于seo优化
为什么这么说呢,因为常常我们看到很多网站上线的时候会有很多空的栏目页,以及内容不足,这样给搜索引擎的印象就不好。
如果我们的网站在上线前网站的内容就足够多,那么百度就会给我们网站特别的权重得分,这样就更加容易提升在百度的排名,所以建议大家可以在本地把网站测试好,并且填充足够的内容后在一次性上线。
(2)、为网站的改版,换模版,应用测试提供便捷
我们需要先在本地搭建环境测试好,不然我们直接在线上测试网站,一会儿修改这,一会儿修改那,这会降低搜索引擎对我们的信任度。
这就好比对一个健康的人动手术,每动一次手术对人带来的伤害一样。所以这种时候我们必须一次性将修改好的网站上线,避免重复修改导致降权。
请点击输入图片如何在本地搭建PHP环境
(1)、我们把准备好的phpStudy放在D盘的php文件夹里,并且把phpStudy压缩包解压到该文件夹里。然后解压完成会弹出一个”为了防止重复初始化“的提示框,不用担心,点击继续就好。
(2)、如上图所示,当我们的Apache和MySQL旁边的按钮同时出现绿色的圆点,就证明我们的php本地环境搭建成功。
(3)、首先我们先新建一个txt文档,并命名为:index.txt,在文档里写入“xxx”然后保存。其次,再把这个文件的后缀格式修改为:.php(即:index.php文件),在把这个文件名为“index.php”的文件放入文件名为“www”的文件里。
PHP本地环境搭建的注意事项
1、在PHP本地环境搭建的整个过程中,所有文件的命名不能是中文,建议用英文命名,也就是说路径不能为中文;
2、如果你以前安装过类似的本地环境,需要再次安装phpStudy,需要在电脑的任务管理器里结束Apache和mysql.exe两个软件进程,然后在直接删除之前安装过的环境,为了防止软件冲突;
3、安装本地环境时,需要关闭迅雷、杀毒等软件;
4、window7系统需要鼠标右键以管理员的权限运行,xp系统可以忽略词条(说明window10安装不了,不过可以试试,万一行了呢);
5、安装不成功的原因分析:端口被占用。
素材整理自:http://www.chinaseonews.com
织梦DEDECMS建站学习02
1.认识php
PHP:
PHP: Hyper text Preprocessor"的缩写,即“超文本预处理器。PHP是一种功能强大,并且简便易用的脚本语言,它可嵌入到HTML中,尤其适合web开发。
起源:
1994年Rasmus创造了PHP (这完全是Rasmus的个人爱好)
1997年,Zeey、Andi重写了解析器,发展到php3。 (有了队伍)
2000年5月,php4发布,它使用了Zend引擎(Zeey+Andi)。(有 了标准)
2004年7月,php5正式发布。(飞速发展,不断创新)
PHP的最版本为PHP 7. X。
PHP的官方网址下载。
特点:
PHP是免费的;
效率高: PHP消耗相当少的系统资源;
易学易用,功能强太;
跨平台的。可以运行在UNIX、LINUX、WINDOWS下;
嵌入HTML:因为PHP可以嵌入HTML语言,学习起来并不困难;
PHP5是面向对象的。
... ...
2.PHP优势
PHP优势3. PHP运行环境
PHP运行前提:1.操作系统,2.WEB服务器,3.PHP组件
WAMP: Windows+Apache+Mysql+Php
WNMP: Windows+Nginx+Mysql+Php
LAMP: Linux+Apache+Mysql+Php
LNMP: Linux+Nginx+Mysql+Php
Apache HtTP Server (简称Apache)是Apache软件基金会的一个开放源码的网页服务器。Apache是世界使用排名第一的Web服务器软件。 它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
Nginx("enginex")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的Web和反向代理服务器,也是一IMAP/POP3/SMTP代理服务器。在高连接并发的情况下,Nginx是Apache服 务器不错的替代品。
安装了PHP环境之后,Apache/Nginx才可能运行PHP文件。
新手安装过程推荐组合包安装!
官方网站:自行下载
注意:我们还可以安装zend引擎:用于php优化。
windows下安装:
推荐软件: phpstudy 官网下载
phpstudy4.第一个PHP页面
1)路径:www下新建目录文件,用于区别不同项目
目录2)代码:
代码3)访问:浏览器输入本机网址路径:127.0.0.1/stedy/index.php
网址最终执行结果!
一些初学者可能还不知道怎么搭建php环境,笔者就遇到很多小白,前台,后台混不清是什么。为什么需要后台,添加文章的原理是什么。
php环境今天笔者就介绍一下怎么搭建php环境,让本地运行调试代码。有两种途径,一个是单独安装,还有个就是安装集成包。笔者今天要介绍的就是用集成环境,笔者觉得这样的效率比较高。虽然从安全性方面,单独安全的安全性更好。感兴趣的朋友可以去试试。
wamp集成包一般笔者安装的是wamp或者phpstudy都是一键式安装。默认数据库的密码是空或者123456,然后把代码放在wamp里面www的目录。通过127.0.0.1或者localhost后面跟上你的文件夹路径就可以访问调试了。
一般服务器环境是linux或者window。liunx的安全性更好,同样的配置linux的效率也高一些。对于网站安全要求比较高的可以去研究一下liunx系统。
linux在使用过程中遇到问题欢迎留言咨询。