重装了一下mb,重新编译环境太麻烦了,所以整理一下mac系统自带php环境用:

OS X yosemite 10.10.5  自带apache,php

1,让apache启用php模块

sudo vi /private/etc/apache2/httpd.conf

找到

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so #虚拟主机模块

LoadModule rewrite_module libexec/apache2/mod_rewrite.so  #伪静态重写模块

LoadModule php5_module libexec/apache2/libphp5.so #php模块

<Directory />

AllowOverride All

Require all granted

</Directory>

#打开php错误提示

:/ Error handling and logging

error_reporting = E_ALL | E_STRICT

display_errors = On

!!重启apache

停止服务:sudo /usr/sbin/apachectl stop

开启服务:sudo /usr/sbin/apachectl start

重启服务:sudo /usr/sbin/apachectl restart

这时浏览器访问http://localhost  就会出现默认It's work的页面了。

2,安装mysql数据库

百度mysql dmg

http://dev.mysql.com/downloads/mysql/

下载最新mysql-5.7.11-osx10.10-x86_64.dmg

双击安装后,会在系统偏好设置中看到开启关闭按钮,具体参考我的另一篇文章http://www.cnblogs.com/findgor/p/4886652.html

sudo mysql -uroot -p

如果出现下面错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

参考这篇博客:http://blog.csdn.net/qq160816/article/details/7722680

Connection failed: SQLSTATE[HY000] [2002] No such file or directory

php.ini

mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock

http://www.bitscn.com/pdb/php/201412/425793.html

我使用的是第一种的非安全模式。

先在偏好设置中,把mysql关闭

sudo su  #这点很重要,如果你直接直接 sudo 命令 ,在下一步操作中,mysql是不会restart的,你就链接不上的。

cd /usr/local/mysql/bin/

./mysqld_safe --skip-grant-tables &  #去除校验,执行完这句之后 ,mysql会自动启动

重新再打开一个终端窗口

mysql -uroot

这时已经进来了,那么我们创建一个用户

mysql>UPDATE mysql.user SET password=PASSWORD('findgor') WHERE User='root'  #必须单引号,mysql5.7以下用这个命令

mysql> FLUSH PRIVILEGES; #刷新权限才能生效

然而日了狗,告诉我没有Password字段,desc user 发现确实没有密码字段,mysql5.7是改成authentication_string,参考:http://xiaorui.cc/2016/01/20/mac下安装mysql5-7遇到默认密码的大坑/

mysql> update mysql.user set authentication_string=PASSWORD(’findgor′) where user=’root’;

!!再刷新权限

这时杀死原先的mysql进程,当然重启mac也行

mysql  -uroot -pfindgor

登陆成功!

在php中使用pdo链接数据库报错2002,参考文章:http://www.jb51.net/article/58520.htm

3,虚拟主机

在上面httpd.conf已经加载了vhost模块了,现在来配置虚拟主机

添加host

sudo vi  /private/etc/hosts

127.0.0.1       test.com

sudo vi /private/etc/apache2/extra/httpd-vhosts.conf

#本地

<VirtualHost *:80>

DocumentRoot "/Users/lixianghui/www"

ServerName localhost

ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"

CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common

</VirtualHost>

#test.com

<VirtualHost *:80>

DocumentRoot "/Users/lixianghui/www/test.com"

ServerName test.com

ErrorLog "/private/var/log/apache2/test-host.example.com-error_log"

CustomLog "/private/var/log/apache2/test-host.example.com-access_log" common

</VirtualHost>

重启apache

4,安装扩展库

#执行pear

sudo php /usr/lib/php install-pear-nozlib.phar

#检测gcc编译器,没有安装的话会自动弹出下载xcode环境

gcc -v

#安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

#安装autoconf库,很重要,没有它很多扩展都安装不了

brew install autoconf

brew install pcre

#安装扩展

sudo pecl swoole

sudo pecl redis

sudo pecl memcache

#加入php.ini

cd /etc

sudo cp php.ini.default php.ini

#检查是否加载

php --ini

#加载php扩展库

vi  php.ini

extension=redis.so

extension=swoole.so

extension=memcache.so

wq!

5,opcache提升性能

参考鸟哥的博客:

http://www.laruence.com/2015/12/04/3086.html

6,升级到10.10,发现缺少gd库缺少freetype等库,影响验证码功能

参考:http://yangjunwei.com/a/1570.html

http://www.piaoyi.org/php/Mac-brew-php.html

坑爹的环境,缺少很多库,需要补,另起一篇文章

整理mac上的php环境的更多相关文章

  1. Mac上配置GTK环境

    Mac上配置GTK环境 安装command line工具, 如果安装了Xcode, 就直接跳过该步骤 安装Homebrew 使用brew install pkg-config 使用brew insta ...

  2. mac上搭建mysql环境配置和Navicat连接mysql

    mac上搭建mysql环境配置 1.下载mysql for mac: https://downloads.mysql.com/archives/community/ 注意:mysql版本要和你的MAC ...

  3. mac上java开发环境

    刚刚入手 macbook 还是 按照window 的方式,下载java,安装,配置环境变量,下载maven安装配置 等等....非常繁琐.. but 在mac上不用这么复杂...利用 brew 命令去 ...

  4. mac上搭建appium环境过程以及遇到的问题

    Mac环境安装appium 一.Java环境 下载java sdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...

  5. mac上配置react-native环境run-ios/run-android命令遇到的问题

    新报错(rn版本:0.53.3)2018.3.6 今天在搞react-native环境时,遇到了一些坑,这里记录一下. 首先最重要的一点是一定要按官网一步一步来,不然可能会出现一些奇奇怪怪的问题! 官 ...

  6. MAC上配置idea环境时排查问题

    现象:没有使用走公司maven仓库的setting.xml文件时,只有公司内部依赖 没有找到在idea的maven配置中指定 公司setting.xml后,所有的文件都提示找不到 解决办法:把公司se ...

  7. MAC 上搭建lua环境

    一.下载并安装 (1)最新release版下载地址 http://www.lua.org/ftp/lua-5.3.1.tar.gz (2)编译 Building Lua is implemented ...

  8. mac 上node.js环境的安装与测试

    如果大家之前做过web服务器的人都知道,nginx+lua与现在流行的Node.js都是可以做web服务器的,前者在程序的写法和配置上要比后者麻烦,但用起来都是差不多.在这里建议大家如果对lua脚本语 ...

  9. mac 上node.js环境的安装与测试【转】

    http://blog.csdn.net/baihuaxiu123/article/details/51868142 一 摘要 如何大家之前做过web服务器的人都知道,nginx+lua与现在流行的n ...

随机推荐

  1. asp.net XMLHttpRequest 进度条以及lengthComputable always false的解决办法

    一直用ajax好长时间了,对其原理也有一些了解,最近由于项目需要,使用ajax异步进度条的效果,就研究了一下,用原生的XMLHttpRequest实现进度条函数,XMLHttpRequest有以下函数 ...

  2. 在ASP.NET MVC5应用程序中快速接入QQ和新浪微博OAuth

    http://www.cnblogs.com/xiaoyaojian/p/4611660.html

  3. MVC5+EF6 入门完整教程

    MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用 MVC5+EF6 入门完整教程10:多对多关联表更新&使用原生SQL@20150521 MVC5+EF6 入门完整教程9:多表 ...

  4. 基于Clang的Source to Source源代码转换(一)

    Clang中包含了非常多的关于抽象语法树(AST)的访问和操作的类和接口.我们程序开发人员可以直接通过继承其中的某些类,重写其中的关键成员方法,从而形成我们自己的对抽象语法树的操作. 那么,首先我们简 ...

  5. Vim升华之树形目录插件NERDTree安装图解

    来源:CSDN 作者:mybelief321 无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然.他说是一个插件叫NERDTree,安装执行后的效果 ...

  6. js 两个滚动事件相互影响

    document.addEventListener('scroll', function(event) { if (event.target.id === 't_r_content') { // or ...

  7. python 学习笔记十五 django基础

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  8. printf(),类型修饰符

    %s, 将输出作为字符串,要一直找到结束符'\0',这样在内存访问中,如果访问的是char 类型的,就会出现,从起始位置一直访问把整个申请的内存空间都遍历没有找到'\0',就会出现segment fa ...

  9. [OC] autoLayout 博客文档

    tip :记录几个博客文档 iOS 8 Auto Layout界面自动布局系列5-自身内容尺寸约束.修改约束.布局动画 iOS AutoLayout自动布局中级开发教程(5)-修改约束的值,延迟加载 ...

  10. Mac下遇到 'reading initial communication packet’ 问题

    今天在开发过程中,一个单位跑的好好的项目,在家中的Mac下运行时,遇到了下面这个错误:   "Lost connection to MySQL server at 'reading init ...