博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP之MAC上环境配置
阅读量:4289 次
发布时间:2019-05-27

本文共 6560 字,大约阅读时间需要 21 分钟。

参考: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

 由于配置了后,这里的“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文件进行测试。
 
虚拟目录配置方法
程序的根目录在/L
ibrary/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,就可以进行编辑了。编辑完成后保存即可。

你可能感兴趣的文章
javascript设计模式-建立接口的方式(1)
查看>>
javascript设计模式-单体singleton模式(2)
查看>>
javascript设计模式-链式编程(3)
查看>>
大型高并发与高可用缓存架构总结
查看>>
javascript设计模式-工厂模式(4)
查看>>
javascript设计模式-组合模式(6)
查看>>
javascript设计模式-门面模式(7)
查看>>
javascript设计模式-享元模式(10)
查看>>
javascript设计模式-代理模式(11)
查看>>
Executor相关源码分析
查看>>
react之setState解析
查看>>
elasticsearch7.3版本已经不需要额外安装中文分词插件了
查看>>
【重大好消息】elasticsearch 7.3版本已经可以免费使用x-pack就可以设置账号和密码了,让你的数据不再裸奔
查看>>
解决使用logstash中jdbc导入mysql中的数据到elasticsearch中tinyint类型被转成布尔型的问题的方法
查看>>
elasticsearch7.3版本环境搭建(一)elasticsearch安装和配置
查看>>
SEO基本功:站内优化的一些基本手段
查看>>
centos6系列和7系列如何对外开放80,3306端口号或者其他端口号
查看>>
为什么您宁愿吃生活的苦,也不愿吃学习的苦?为什么你不愿意去学习呢
查看>>
解决elasticsearch7.3版本安装过程中遇到的包括内存不够、线程不够等问题
查看>>
日常项目测试用例检查点(来自一线测试人员的吐血总结)
查看>>