zoukankan      html  css  js  c++  java
  • PHP初步:在Mac OS X Yosemite下搭建Apache+PHP+Mysql

    Mac OS X是基于unix的操作系统,很多软件都集成在系统中。所以,对于配置PHP的开发环境相对于windows和Linux更简单。

    1. 启动Apache服务器

    打开终端(terminal),查看Apache和PHP版本

    $ apachectl -v && php -v
    Server version: Apache/2.4.9 (Unix)
    Server built:   Sep  9 2014 14:48:20
    PHP 5.5.14 (cli) (built: Sep  9 2014 19:09:25) 
    Copyright (c) 1997-2014 The PHP Group
    Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

    启动Apache服务器,操作需要切换root用户以避免用sudo时出问题。

    注意,以下操作均为root用户时操作,若不是root用户,每条操作都需加sudo。

    sudo su -
    apachectl start

    补充:

    重启Apache服务器

    apachectl restart

    关闭Apache服务器

    apachectl stop

    查看版本

    httpd -v
    apachectl -v

    点击 http://localhost/ 链接看到“It works!”则成功开启Apache服务器

    2. 配置PHP

    转到Apache目录下备份httpd.conf文件

    cd /etc/apache2/
    cp httpd.conf httpd.conf.bak

     备份好后,用vi打开httpd.conf文件,将LoadModule php5_module libexec/apache2/libphp5.so的#去掉

    vi httpd.conf
    #以下是httpd.conf文件内容
    #LoadModule rewrite_module libexec/apache2/mod_rewrite.so
    LoadModule php5_module libexec/apache2/libphp5.so
    #LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
    <IfModule unixd_module>
    #在LoadModule的倒数第二行

    重启Apache服务器

     apachectl restart

     查看默认服务器根目录 

     grep "DocumentRoot" httpd.conf

     终端显示以下内容

    # DocumentRoot: The directory out of which you will serve your
    DocumentRoot "/Library/WebServer/Documents"

     用vi编写info.php

    vi /Library/WebServer/Documents/info.php

      在info.php中输入

    <?php
        phpinfo();
    ?>

    打开http://localhost/info.php 链接查看PHP版本信息。

    3. 安装MySQL

    点击http://dev.mysql.com/downloads/mysql/ 选择Mac OS X中MySQL的dmg文件,download,(http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10-osx10.10-x86_64.dmg)(之前安装的是Mac OS 10.9的数据库,现在改为 10.10 的,2016-01-26更新)

    下载完成后点击安装,然后同意且继续直到完成安装。安装完成后,在“系统偏好设置中”打开MySQL服务器

     开启MySQL服务器后如下图

    开启MySQL服务器之后就可以进行数据库的操作了,在windows中习惯用命令行启动MySQL,可以在Mac的终端设置别名。打开终端,输入以下命令:

    修改别名,方便输入

    alias mysql='/usr/local/mysql/bin/mysql'

    安装好 Mac OS 10.10 的 MySQL 数据库之后会弹出系统默认的初始化密码,如果需要修改密码(2016-01-26 更新)

    在命令提示符后输入

    /usr/local/mysql/bin/mysqladmin -u root password 123456 

    则密码修改成功。

    4. PHP连接数据库

     在终端输入以下命令:

    cd /var 
    mkdir mysql
    cd mysql
    ln -s /tmp/mysql.sock mysql.sock

    否则,会报warning。

    终端输入以下命令:

    vi /Library/WebServer/Documents/dbconnect.php

     在新建的PHP文件中输入:

    <?php
    $con = mysql_connect("localhost","root","123456");
    var_dump($con);
    if (!$con) {
            die('Could not connect: ' . mysql_error());
    }
    else {
            echo "connect success!";
    }
    // some code
    
    ?>

     打开http://localhost/dbconnect.php 查看连接结果。

    5. 修改根目录

    根目录是从文件系统共享文件的目录位置,Mac OS X拥有两种级别的web根目录,系统级和用户级。个人本地开发可以使用用户级根目录,这样就少去了不得不保持root用户的权限约束,但也要修改相应配置。

    Mac OS X的系统级根目录URL为:http://localhost  对应的文件目录  /Library/WebServer/Documents/

    Mac OS X的用户级根目录,对应文件共享目录为~/Sites,这个文件目录要自己创建,在普通用户的家(~)目录下

    5.1 首先,在你自己的文档中建立一个web根目录。

    建立的目录路径为 '/Users/username/Sites/',然后在终端中输入以下命令:

    其中,「username」是当前 Mac OS 登录用户的用户名,若不知道自己的用户名可以用「whoami」查看,下面的 「username」都替换成自己的用户名。

    mkdir ~/Sites

    这样,用户的目录下就多了一个 Sites 目录

    5.2 修改 httpd.conf 文件

    打开 httpd.conf 文件

    sudo vi /etc/apache2/httpd.conf

    显示行号

    :set nu

    5.1.1 加载模块

    将72、78、166行前的 「#」删除,修改结果如下:

    LoadModule authz_host_module libexec/apache2/mod_authz_host.so
    
    LoadModule authz_core_module libexec/apache2/mod_authz_core.so
    
    LoadModule userdir_module libexec/apache2/mod_userdir.so

    5.1.2 引入 httpd-userdir.conf

    将493行前的「#」删除,修改为:

    Include /private/etc/apache2/extra/httpd-userdir.conf
    

    打开 httpd-userdir.conf 文件,

    sudo vi /etc/apache2/extra/httpd-userdir.conf

    并将 Include /private/etc/apache2/users/*.conf 前的 「#」删除,修改为

    Include /private/etc/apache2/users/*.conf

    5.1.3 创建 username.conf 文件

    sudo vi /etc/apache2/users/username.conf

    输入以下内容

    <Directory "/Users/username/Sites/">
    AllowOverride All
    Options Indexes MultiViews FollowSymLinks
    Require all granted
    </Directory>

    5.1.4 重启 Apache 服务器

    sudo apachectl restart

    5.1.5 打开用户根目录

    http://localhost/~username/

    5.2 修改默认根目录

    5.2.1 AllowOverride

    仍然 root 权限打开 httpd.conf,修改 AllowOverride None 为 AllowOverride All

    238 DocumentRoot "/Library/WebServer/Documents"
    239 <Directory "/Library/WebServer/Documents">
    240     #
    241     # Possible values for the Options directive are "None", "All",
    242     # or any combination of:
    243     #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    244     #
    245     # Note that "MultiViews" must be named *explicitly* --- "Options All"
    246     # doesn't give it to you.
    247     #
    248     # The Options directive is both complicated and important.  Please see
    249     # http://httpd.apache.org/docs/2.4/mod/core.html#options
    250     # for more information.
    251     #
    252     Options FollowSymLinks Multiviews
    253     MultiviewsMatch Any
    254 
    255     #
    256     # AllowOverride controls what directives may be placed in .htaccess files.
    257     # It can be "All", "None", or any combination of the keywords:
    258     #   AllowOverride FileInfo AuthConfig Limit
    259     #
    260     AllowOverride All
    261 
    262     #
    263     # Controls who can get stuff from this server.
    264     #
    265     Require all granted
    266 </Directory>

    5.2.2 mod_rewrite.so

    删除 LoadModule rewrite_module libexec/apache2/mod_rewrite.so 前的「#」

    5.2.3 重启 Apache 服务器

    sudo apachectl restart

    6. 参考文章

    http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/

  • 相关阅读:
    hdu 2211(约瑟夫环问题)
    hdu 3605(二分图的多重匹配 | 网络流)
    hdu 3360(经典二分匹配)
    hdu 2255(KM)
    ajax无翻页刷新简单实例2
    在Updatepanel中使用Response.Redirect
    asp.net 使用UpdatePanel 返回服务器处理后弹出对话框
    再记一个SQL分页存储过程
    DIV中图片垂直居中
    在Repeter中用RadioButton生成单选按钮组的实现
  • 原文地址:https://www.cnblogs.com/nycoder/p/4336942.html
Copyright © 2011-2022 走看看