整理mac上的php环境
重装了一下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环境的更多相关文章
- Mac上配置GTK环境
Mac上配置GTK环境 安装command line工具, 如果安装了Xcode, 就直接跳过该步骤 安装Homebrew 使用brew install pkg-config 使用brew insta ...
- mac上搭建mysql环境配置和Navicat连接mysql
mac上搭建mysql环境配置 1.下载mysql for mac: https://downloads.mysql.com/archives/community/ 注意:mysql版本要和你的MAC ...
- mac上java开发环境
刚刚入手 macbook 还是 按照window 的方式,下载java,安装,配置环境变量,下载maven安装配置 等等....非常繁琐.. but 在mac上不用这么复杂...利用 brew 命令去 ...
- mac上搭建appium环境过程以及遇到的问题
Mac环境安装appium 一.Java环境 下载java sdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...
- mac上配置react-native环境run-ios/run-android命令遇到的问题
新报错(rn版本:0.53.3)2018.3.6 今天在搞react-native环境时,遇到了一些坑,这里记录一下. 首先最重要的一点是一定要按官网一步一步来,不然可能会出现一些奇奇怪怪的问题! 官 ...
- MAC上配置idea环境时排查问题
现象:没有使用走公司maven仓库的setting.xml文件时,只有公司内部依赖 没有找到在idea的maven配置中指定 公司setting.xml后,所有的文件都提示找不到 解决办法:把公司se ...
- MAC 上搭建lua环境
一.下载并安装 (1)最新release版下载地址 http://www.lua.org/ftp/lua-5.3.1.tar.gz (2)编译 Building Lua is implemented ...
- mac 上node.js环境的安装与测试
如果大家之前做过web服务器的人都知道,nginx+lua与现在流行的Node.js都是可以做web服务器的,前者在程序的写法和配置上要比后者麻烦,但用起来都是差不多.在这里建议大家如果对lua脚本语 ...
- mac 上node.js环境的安装与测试【转】
http://blog.csdn.net/baihuaxiu123/article/details/51868142 一 摘要 如何大家之前做过web服务器的人都知道,nginx+lua与现在流行的n ...
随机推荐
- 货运APP雨后春笋 传统物流模式将被改变
移动互联网正在改变我们的生活方式,各种手机APP充斥着人们的生活,物流行业也不例外.货运APP的出现,对于物流行业是一个提升的机会,也是迈向标准化和专业化的一个有效途径.有专家预测,这将为物流行业的发 ...
- android、IOS和手机基础知识
一.手机基础知识 1.固件.刷固件.固件版本 固件是指固化的软件,英文为firmware,它是把某个系统程序写入到特定的硬件系统中的flashROM.手机固件相当于手机的系统,刷新固件就相当于刷系统. ...
- C语言 01 形参实参
之前的都在印象笔记记录 continue 结束本轮循环体,进入下一次循环.break 直接结束整个while循环 形参:定时函数时函数名后面中的参数实参:调用函数时传入的具体数据基本数据类型作为形参, ...
- nes 红白机模拟器 第3篇 游戏手柄测试 51 STM32
手柄使用的是 CD4021 ,datasheet 上说支持 3V - 15V . 因为手柄是 5V 供电,2440 开发板上是GPIO 3.3V 电平,STM32 GPIO 也是 3.3V (也兼容5 ...
- 161227、js显示对象所有属性和方法的函数
要想看到实际效果,可以先声明一些属性跟方法,否则是看不到,仔细往下看有例子的. function ShowObjProperty(Obj) { var PropertyList=''; var Pro ...
- CSS3 笔记二(Gradients)
CSS3 Gradients Two types of gradients: Linear Gradients (goes down/up/left/right/diagonally) Radial ...
- Selenium-xpath详解
1.XPATH是什么 XPATH是一门在XML文档中查找信息的语言,XPATH可用来在XML文档中对元素和属性进行遍历,主流的浏览器都支持XPATH,因为HTML页面在DOM中表示为XHTML文档.X ...
- C#程序调用CodeSoft预先设计好的标签模块实现打印功能
if (this.tbSetLabel.Text.Trim() == "") { MessageBox.Show("请先 Enter 选择标签模板文件!", & ...
- 安装win7的那些事
由于win7系统只支持MBR格式的分区,如果强行将win7安装到UEFI分区方式的硬盘上将不能启动,所以,如果你要给别人的win8或者win10的OEM系统安装win7的话,记得先将重要数据备份出去, ...
- http常见状态码解析
自定义 Ajax原生编写ajax:function(opt){ var xmlhttp; //创建对象 if (window.XMLHttpRequest){// code for IE7+, Fir ...