php的入门第一个例子(包括linux的环境安装与包括页面跳转,以及curl命令的调用)

本文详细介绍如何在Linux环境下安装配置Apache及PHP,并实现简单的PHP页面交互功能。文章提供了安装步骤、注意事项以及验证方法。



linux下搭建php服务器 (安装apache 以及 php)


apache服务器安装详细步骤见:http://blog.youkuaiyun.com/wangjunji34478/article/details/38012087

总体归结为三条命令:

                            1. ./configure

                            2. make

                            3. make install



需要注意的点:1. 安装apache一般需要首先安装①apr、 ②apr_util、 ③pcre。

                            2. 如果没有gcc之类的自然也是需要接着安装的

                            3. 我确实安装了pcre,也给apache指定了我pcre的安装目录但是依旧提示pcre找不到,注意,我从这里安装了pcre的开发包,pcre-devel,(yum install pcre-devel直接装)于是问题解决了


验证方法:1. 在浏览器中输入 localhost:80

                    2. 浏览器会打开 apache安装目录下的 htdocs/index.html文件,在浏览器中显示 It Works !那么apache安装成功了。


注:此时将php页面放入htdocs目录下在浏览器中并不能访问,需要安装php


php安装详细步骤见:http://www.111cn.net/sys/linux/72138.htm

                       可参考:可以多参考其他安装教程


需要注意的点:1. 根据其他教程安装后发现不能运行,最后找到所给的地址,问题解决

                            2. 原因①,需要修改apache安装目录下的文件conf/httpd.conf,取消备注是的一行 LoadModule php5_module modules/libphp5.so 这个在安装php的时候会自己做

        3.原因②,需要在上面一行的末尾加一行 AddType application/x-httpd-php .php,然后保存

         4.原因③,需要将php解压目录下的配置文件拷贝到器安装目录下,cp php-5.6.3/php.ini-development /usr/local/php/lib/php.ini

修改后的httpd.conf效果如下:

<span style="font-size:10px;">#LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module        modules/libphp5.so
AddType application/x-httpd-php .php

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.</span>


第一个php程序,可实现输入判断与页面跳转:


文件名:login_post.php

<form action='' method='post'>
Type a valiad username:<br/>
<input type='text' name='usrname'>
<input type='submit' value='Login' name='sub'>
</form>
<?php
if(!empty($_POST['sub']))
{
    echo $_POST['usrname'];
    "<br>";
    $_POST['usrname']=="root"?header("location:./ok.html"):header("location:./error.html");
}
?>

文件名:login_get.php

<form action='' method='get'>
Type a valiad username:<br/>
<input type='text' name='usrname'>
<input type='submit' value='Login' name='sub'>
</form>
<?php
if(!empty($_GET['sub']))
{
    echo $_GET['usrname'];
    "<br>";
    $_GET['usrname']=="root"?header("location:./ok.html"):header("location:./error.html");
}
?>


浏览器中访问,若输入的是“root”可跳转到ok.html,否则跳转到 error.html

用curl命令行方式访问的语法为:

// 用 GET 方式携带数据访问页面
curl "localhost/login_get.php/?usrname=root&sub=ok"


// 用 POST 方式携带数据访问页面
curl --data "usrname=rot&sub=ok" "localhost/login_post.php"


问题:在浏览器中是可以实现页面跳转的,但是使用curl不会返回调转后页面的信息,怀疑是curl不支持php的head函数,于是写html的自动跳转页面,curl命令行方式访问依旧不会显示调转后的页面信息

html的自动跳转页面,auto_jump.html

<html>
<head>
<meta http-equiv="refresh" content="3;url=index.html">
</head>
<body><h3>wait for 3 seconds, refreshing...</h3></body>
<html>


curl应该就是不返回跳转后页面的页面信息


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值