您的位置:首页 > 运维架构 > Linux

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

2015-06-27 17:28 651 查看


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

apache服务器安装详细步骤见:http://blog.csdn.net/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应该就是不返回跳转后页面的页面信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux curl php apache