php之Mac上环境配置

来源:互联网 发布:c语言大小写转换函数 编辑:程序博客网 时间:2024/06/18 08:15

参考:https://my.oschina.net/joanfen/blog/171109

Mac本机的路径:

/Users/wofu/Desktop/php桌面文件夹

一、启动Apache 

有两种方法 

1、打开网络共享 

   打开"系统偏好设置"->"共享",在"互联网共享"那一项前面打√。 

2、打开终端,输入

sudo apachectl start

这时需要输入密码,输入电脑密码即可,然后输入

sudo apachectl v

可以查看到Apache的版本信息 

Serverversion: Apache/2.2.24 (Unix)

Serverbuilt: Jul 7201318:05:17

此时在浏览器中输入http://localhost,会出现It works!的页面 

二、运行PHP 

1、找到Apache的配置文件,在目录/etc/apache2/下,打开Finder,选择"前往"-"前往文件夹",输入"/etc/apache2/",找到其中的"httpd.conf"文件,选择用文稿打开进行编辑,点按Command+F,搜索

#LoadModule php5_module libexec/apache2/libphp5.so

,如图

2、重启Apache,在终端输入

sudo apachectl restart

PHP就可以用了。 

3、在终端输入 

sudo cp/Library/WebServer/Documents/index.html.en/Library/WebServer/Documents/info.php

即在Apache的根目录下复制index.html.en文件并重命名为info.php。

4、打开info.php,在It works后面加上<?php phpinfo(); ?>,然后再次重启Apache,在浏览器中输入http://localhost/info.php,会出现一个显示php信息的页面,如图所示。

原来Apache根目录是/Library/WebServer/Documents, 现改为/Users/username/phpSites,



Mac自带tomcat,并且根目录在/Library/WebServer/Document ,如果直接访问localhost就会访问到这个根目录,但是这个目录带有修改权限,那么如何解决这个问题呢,最好的办法就是修改apache的根目录,下面介绍如何修改


=======重新规划虚拟主机目录=======

比如我们要设置本机的虚拟域名为lambo.com


一、首先找到Apache的安装目录:我的是在/private/etc/apache2

在此目录下找到文件httpd.conf,在文件内容的中间位置有下面两行:

# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf

把第二行放开,即删掉#

# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf

保存时,如果保存不上就复制一份到桌面,修改完之后再把文件复制过来覆盖掉之前的文件。


二、找到上一步放开的文件,位置在:/private/etc/apache2/extra/httpd-vhosts.conf

打开文件,按照文件里的提示,在最下面添加如下代码并保存:

<VirtualHost *:80>
    DocumentRoot "/UsersZe/work/MyPHP"
    ServerName lambo.com
    ErrorLog "/private/var/log/apache2/bweb-com-error_log"
    CustomLog "/private/var/log/apache2/bweb-com-access_log" common
    <Directory "/Users/Ze/work/MyPHP">
        # AllowOverride All        # Deprecated
        # Order Allow,Deny       # Deprecated
        # Allow from all           # Deprecated
        # --New way of doing it
        Require all granted    
    </Directory>
</VirtualHost>

注意:DocumentRoot "/Users/Ze/work/MyPHP"和<Directory "/Users/lambo/lambo/workspaces/MyPHP">都是项目所在的路径,ServerNamelambo.com为要增加的本机域名,其他不需要做修改。


三、在/private/etc目录下找到hosts文件

在文件的最后增加一行并保存:

127.0.0.1      lambo.com


四、最后重启Apache

sudo apachectl restart

会让输密码,就是电脑开机密码。
===========修改alpache更目录====


在Mac OS X中可以很方便的通过开启“Web共享”启用Apache服务:
设置方法如下:

打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”选中即可


 

启动Apache

 

有两种方法:

  1. 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”
  2. 打开“终端(terminal)”,然后(注意:sudo需要的密码就是系统的root帐号密码)
    1. 运行“sudo apachectl start”,再输入帐号密码,这样Apache就运行了。

这样在浏览器中输入“http://localhost”,就可以看到出现一个内容为“It works!”的页面,它位于“/Library(资源库)/WebServer/Documents/”下,这是Apache的默认根目录。

注意:开启了Apache就是开启了“Web共享”,这时联网的用户就会通过“http://[本地IP]/”来访问“/Library(资源库)/WebServer/Documents/”目录,通过“http://[本地IP]/~[用户名]”来访问“/Users/[用户名]/Sites/”目录,可以通过设置“系统偏好设置”的“安全(Security)”中的“防火墙(Firewall)”来禁止这种访问。

系统默认给当前用户的访问目录是http://localhost/~username的形式,指向的是用户home目录下的Sites目录。而很多情况下我们希望直接访问根目录(http://localhost/)便可直接访问自己的Sites目录而非系统默认的目录。


做如下更改即可:
1.打开/etc/apache2/httpd.conf文件

sudo vim /etc/apache2/httpd.conf

2.找到

/Library/WebServer/Documents

替换成

/Users/{username}/Sites

其中{username}是你登陆用户名,如:

/Users/liangc/Sites

3.重启“Web共享(Web Sharing)” (去掉勾再重新选中即可)

或者 运行“sudo apachectl restart

重启成功后,无需再加上用户名,便可以使用http://localhost/直接访问自己Sites目录下的内容



You don't have permission to access on this server. 错误

 打开apache的配置文件httpd.conf,


    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all

 由于配置了PHP后,这里的“Deny from all”已经拒绝了一切连接。把该行改成“allow from all”,修改后的代码如下,问题解决。


    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    allow from all


=============alpache 访问验证方式========

Require all granted

允许所有请求访问资源

 

Require all denied

拒绝所有请求访问资源

 

Require env env-var [env-var] ...

  当指定环境变量设置时允许访问

 

Require method http-method [http-method] ...

允许指定的http请求方法访问资源

 

Require expr expression

当expression返回true时允许访问资源

 

Require user userid [userid] ...

允许指定的用户id访问资源

 

Require group group-name [group-name] ...

允许指定的组内的用户访问资源

 

Require valid-user

所有有效的用户可访问资源

 

Require ip 10 172.20 192.168.2

允许指定IP的客户端可访问资源

 

Require not group select

select组内的用户不可访问资源


========

手动打开apache服务后,在浏览器输入localhost,将看到如下:
it works
 
PHP配置
PHP的配置非常简单,就一个事,进到/etc/apache2/目录,编辑httpd.conf,找到LoadModule php5_module libexec/apache2/libphp5.so将其放开注释就行了。
重新启动apache。
在/Library/WebServer/Documents/目录下建立php文件进行测试。
 
虚拟目录配置方法
程序的根目录在/Library/WebServer/Documents/ 下,这个It works 就是里面的info.php打印出来的。下面介绍如何将apache的这个默认目录更改到用户目录下。
1,在自己的用户目录下新建一个php文件夹,我的用户目录为lambo
 
2,进到cd /etc/apache2/users/目录下,sudo vim wofu.conf,内容为:
 
<Directory "/Users/lambo/php/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
上面第一行里的lambo就是用户目录。然后将该文件权限改为644:
sudo chmod 644 wofu.conf
 
3,进到/etc/apache2/目录,sudo vim httpd.conf 将下面三句话的注释去掉:
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
前两句应该已经不带注释了,把第三句注释放开。
然后找到Include /private/etc/apache2/extra/httpd-userdir.conf 注释放开。
PS:在vim下只要切换到命令模式,然后输入/”words you need find”就能快速找到需要查找的词。
 
4,进到/etc/apache2/extra/目录,
sudo vim httpd-userdir.conf
将Include /private/etc/apache2/users/*.conf 这句话放开注释。
 
然后终端输入:sudo apachectl restart 重启apache,浏览器输入:loacal/~lambo/ 就能看到效果了。(lambo是我的用户目录的名字,后面不用再加/php)


=================MAMP配置环境+++++++++++++

参考:http://www.jianshu.com/p/85aafc934fe5

localhost 的目录为 /Applications/MAMP/htdocs/

Apache 的配置文件路径为 /Applications/MAMP/conf/apache/httpd.conf

Apache 的虚拟主机配置文件路径为 /Applications/MAMP/conf/apache/extra/httpd-vhost.conf


配置虚拟主机:


打开 httpd.conf,取消下面这行的注释 # Virtual hosts Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

httpd-vhost.conf中配置虚拟主机

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "/Applications/MAMP/htdocs/"

ServerName localhost

ServerAlias

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

<Directory "/Applications/MAMP/htdocs/">

allow from all

AllowOverride all

Options +indexes

</Directory>

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "/Applications/MAMP/htdocs/oa"

ServerName www.oa.cc

ServerAlias oa.cc

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

<Directory "/Applications/MAMP/htdocs/oa">

allow from all

AllowOverride all

Options +indexes

</Directory>

</VirtualHost>

配置完成后重启 MAMP注意关掉 shadowsocks等代理软件

hosts文件中添加 DNS解析,即可通过域名访问本地脚本文件。有两种方式

Finder上右键,选择Go to Folder...,输入/private/etc找到 hosts文件,复制到其他地方,使用文本编辑器进行编辑,添加需要解析的行,如127.0.0.1 www.oa.com oa.com,保存后退出,复制,然后回到 etc目录,粘贴,选择替换。

打开终端 terminal,运行sudo vim /private/etc/hosts,就可以进行编辑了。编辑完成后保存即可。


原创粉丝点击