结合php配置apache

★apache的配置文件

◆/usr/local/apache2/conf/httpd.conf

◆/usr/local/apache2/bin/apachectl -l  可以列出所有的static模块,即httpd的内核模块

[[email protected] ~]# /usr/local/apache2/bin/apachectl -l
Compiled in modules:
  core.c
  mod_so.c
  http_core.c
  event.c         2.0和2.2默认为prefork模式,使用子进程(worker ;2.4默认为event模式)

  • 更改模式:

cd /usr/local/src/httpd-2.2.16

[[email protected] httpd-2.2.16]# ./configure --help |grep mpm
  --with-mpm=MPM          Choose the process model for Apache to use.
                          MPM={beos|event|worker|prefork|mpmt_os2}

在编译时指明模式即可

◆/usr/local/apache2/bin/apachectl -M  可以列出shared类型的模块

◆/usr/local/apache2/bin/apachectl -t  可以查看语法有没有错误

有错改错,没有错误再重启

◆/usr/local/apache2/bin/apachectl -graceful 可以重新加载配置文件

◆cat /usr/local/apache2/build/config.nice   可以查看编译apache时候的选项

★结合php配置apache

vim /usr/local/apache2/conf/httpd.conf

◆找到:AddType application/x-gzip .gz .tgz
    在该行下面添加:AddType application/x-httpd-php .php

◆找到:<IfModule dir_module>
         DirectoryIndex index.html
         </IfModule>
  修改为:<IfModule dir_module>
         DirectoryIndex index.html index.htm index.php
         </IfModule>

◆找到:#ServerName www.example.com:80 
   修改为:ServerName localhost:80

★测试解析php

◆编写一个php脚本,命名为1.php

[[email protected] httpd-2.2.16]# vim /usr/local/apache2/htdocs/1.php

[[email protected] httpd-2.2.16]# cat /usr/local/apache2/htdocs/1.php
<?php
echo baidu.com;
?>

在本地浏览器输入ip地址/1.php

发现虽然php正常解析,但是显示内容为baiducom,脚本中写的.并没有显示。这是因为.在php脚本中是一个连接符,如果想让其真正显示成.需要加上单引号(echo ‘baidu.com‘)

◆phpinfo()可以显示php相关的配置

我们可以看到Loaded Configuration File 显示为(none),这是因为在/usr/local/php/etc下并没有相关配置文件

[[email protected] httpd-2.2.16]# ls /usr/local/php/etc
pear.conf

我们可以复制一个,在源码包文件下我们可以过滤一下

[[email protected] php-5.3.28]# ls |grep php.ini
php.ini-development  <== 测试环境的
php.ini-production   <== 生产环境的

[[email protected] php-5.3.28]# cp php.ini-production /usr/local/php/etc/php.ini

我们需要重启一下apache,[[email protected] php-5.3.28]# /etc/init.d/apachectl restart

刷新网页我们发现已经改变了

◆在命令行下进行测试

  • [[email protected] php-5.3.28]# cd /usr/local/php        <== 进入到此目录下
  • [[email protected] php]# /usr/local/php/bin/php -m  可以列出所有加载的模块,都是静态编译进来的
  • [[email protected] php]# /usr/local/php/bin/php -i  可以查看到phpinfo

要想查看配置文件,可以 /usr/local/php/bin/php -i |grep -i ‘Configuration File‘

  • [[email protected] php]# /usr/local/php/bin/php -i |grep -i ‘Configuration File‘
    Configuration File (php.ini) Path => /usr/local/php/etc
    Loaded Configuration File => /usr/local/php/etc/php.ini
  • [[email protected] php]# /usr/local/php/bin/php -v  可以查看版本
  • [[email protected] php]# /usr/local/php/bin/php -i |head   可以查看到php的编译选项
  • [email protected] php]# curl -x192.168.16.100:80 yueyue.com/index.html
    <html><body><h1>It works!</h1></body></html>

    如果现实php源码,说明php没有正常解析,需要再去检查配置文件

◆无法正常解析时排错方法

  • /usr/local/php/bin/php -m
    查看有没有php5_module模块,如果没有进行第二步
  • 查看ls /usr/local/apache2/modules/libphp5.so 此目录下有没有此文件

    如果有此文件但没有第一步中的模块,ldd /usr/local/apache2/modules/libphp5.so

    查看是否有问题(是否出现****==> not found),此命令用来查询依赖哪些库文件

时间: 2024-12-08 16:27:52

结合php配置apache的相关文章

Linux下安装配置Apache服务器

Linux下安装配置Apache服务器 1. 安装Apache [[email protected] ~]# yum –y install httpd 2. 启动Apache [[email protected] ~]# systemctl start httpd 3. 查看进程 [[email protected] ~]# systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib

openSUSE下配置Apache开启重写模块

这几天刚重装了系统,需要进行一大堆配置,笔者是一名LAMPer,当然要配置apache+php+mysql了,我用的发行版是opensuse13.1,. 安装好apache后,需要开启URL重写功能以配合项目的开发.打开apache的配置文件/etc/apache2/httpd.conf,找到AllowOverride None,改成AllowOverride ALL,再找到Option None改为Option FollowSymLinks .这样还不行,还要加载Rewrite模块. Rewr

Ubuntu14.04配置Apache支持多个站点

怎样在一个Ubuntu的机器上(虚拟机)配置Apache支持多个网站呢? 比如你有一台独立的Ubuntu虚拟机,配有一个外网的IP(45.46.47.48),并且注册了两个域名AAA.com和BBB.com,将这两个域名DNS解析到你虚机的IP地址.假设你已经安装好了Apache,一切都是默认的设置. 我们需要在这一个server上面,同时host AAA.com,BBB.com 第一步:修改hosts文件 在Ubuntu系统中,hosts文件目录为/etc/hosts,可以用vi编辑 sudo

ZABBIX企业监控实践(2):升级与配置Apache

前面我们完成了ZABBIX环境的安装,在实际项目中,出于安全漏洞或者性能优化方面的考虑,需要升级到最新版本.我们首先对Apache进行升级. 一.准备安装过程 如果已经安装的Apache是通过yum安装,升级前先删除旧版本: 备份httpd.conf配置文件 # cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak 卸载旧版本Apache: #service httpd stop #yum remove -y httpd* 注:

CentOS 7安装配置Apache HTTP Server

原文 CentOS 7安装配置Apache HTTP Server   RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-util httpd-tools mailcap # rpm -qi httpd Name      : httpd Version    : 2.4.6 Release    : 18.el7.centos Architecture: x86_64 Install Date: Mon 11 Aug 2

Mac OS X 10.10 Yosemite下配置 apache+php

自从系统从OS X Mavericks 10.9升级到OS X Yosemite 10.10 后之前配置apache和php均不能正常使用了, 重新设置配置如下: 首先,查看当前系统的apache版本,终端下输入:httpd -v Apache/2.4.0 1. 启动Apache 服务      sudo apachectl start      打开safari,访问:http://localhost,显示“It works!”表示Apache启动正常 当前访问的是Apache的默认目录,/L

Centos7安装配置Apache+PHP+Mysql+phpmyadmin

转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl start httpd //启动apache systemctl stop httpd //停止apache systemctl restart httpd //重启apache systemctl enable httpd //设置apache开机启动 异常处理我再阿里云上配置并出现启动Apac

Ubuntu下配置apache开启https

一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那https到底是怎么开启的,随着疑问自己也了解https配置原理并在Ubuntu服务器上开启了https. 二.配置证书 配置https一个很重要的步骤就是配置证书. 1.创建证书 sudo apt-get install ssl-cert make-ssl-cert生成证书的方法有两种,一种是根据生成

Linux下安装配置Apache+PHP+MariaDB

一.安装apache 1.下载并安装apache yum install httpd 2.启动apache systemctl start httpd.service 3.停止apache systemctl stop httpd.service 4.重启apache systemctl restart httpd.service 5.将apache设置为开机启动 systemctl enable httpd.service 二.安装php 1.下载php yum install php 2.安

在Mac OS X 10.8中配置Apache + PHP + MySQL

在Mac OS X 10.8中配置Apache+PHP+MySQL的内容包括: 配置Apache 配置PHP 安装MySQL 配置PHPAdmin 设置数据库默认字符集 一. 配置Apache 1. 启动Apache 打开终端,输入: sudo apachectl start 打开浏览器,输入: http://localhost 应该可以看到”It works!“的页面,该页面位于/Library/WebServer/Documents/目录下,这是Apache的默认根目录. 2. 配置用户访问