mac搭建php开发环境(mac+apache+mysql+php)并且安装zend framework1框架

news/2025/5/26 5:07:09

本人电脑环境:mac 10.09

一、 mac电脑自带了apache,就不高兴重新安装了

   简单的说下apache的三个命令

   sudo apachectl start       开启

   sudo apachectl restart    重启

   sudo apachectl stop        停止

查看本机apache的版本为:

   sudo apachectl -v 

   

apache的配置文件的路径为:

  /etc/apache2/httpd.conf

  这里我没有使用apache默认的站点而是改成了自己用户目录下面新建了一个文件夹

  mkdir /Users/liupeng/Sites

  我打算将该文件夹作为以后放置php程序的地方,然后我们就需要去更改apache的配置,以使它支持

  sudo vim /etc/apache2/httpd.conf

  

主要是更改documentroot的路径,保存后退出重启apache,你的配置就成功了

自己可以在该目录下面输出新建一个php文件输出做测试

apache的配置先说到这里,过会我们还需要进行设置

 

二、php mac系统中自带了5.4的版本,我需要使用5.3的,我决定使用brew进行安装,这个类似于ubuntu下面的apt-get 管理工具,主要可是帮忙安装好相关依赖的类库

    我们首先进行安装brew

    大家可以直接参考官方文档:安装brew

    安装完成后,我们按照下面的步骤进行安装php5.3版本

 brew updatebrew tap homebrew/dupesbrew tap josegonzalez/homebrew-php# brew install php55  如果想安装5.5版本就用这个命令brew install php53 
如果安装过程中出现问题,建议直接谷歌,或者直接去github上面的brew主页寻找帮助,我遇到的问题就是在上面看到外国人发的问题的答案里解决掉的。

安装完成后默认的安装位置是
这个时候看好终端输出,它会教你怎么去使apache加载这个版本的php,大家可以看下我的,我把原有的注释掉了
sudo vim /etc/apache2/httpd.conf

   修改好后保存退出,重启apache,就好了!

   这个时候还牵涉到一个环境变量的问题,如果我们在终端中输入php -v可能显示的还是原有系统中的php版本信息;我们按照终端中的指令,直接复制粘贴执行就可以了!附上我的终端信息

   

To enable PHP in Apache add the following to httpd.conf and restart Apache:

    LoadModule php5_module    /usr/local/opt/php53/libexec/apache2/libphp5.so

 

The php.ini file can be found in:

    /usr/local/etc/php/5.3/php.ini

 

✩✩✩✩ PEAR ✩✩✩✩

 

If PEAR complains about permissions, 'fix' the default PEAR permissions and config:

    chmod -R ug+w /usr/local/Cellar/php53/5.3.29/lib/php

 

    pear config-set php_ini /usr/local/etc/php/5.3/php.ini system

✩✩✩✩ Extensions ✩✩✩✩

 

If you are having issues with custom extension compiling, ensure that

you are using the brew version, by placing /usr/local/bin before /usr/sbin in your PATH:

 

      PATH="/usr/local/bin:$PATH"

 

PHP53 Extensions will always be compiled against this PHP. Please install them

 

using --without-homebrew-php to enable compiling against system PHP.

✩✩✩✩ PHP CLI ✩✩✩✩

 

If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc,

~/.zshrc, ~/.profile or your shell's equivalent configuration file:

 

      export PATH="$(brew --prefix homebrew/php/php53)/bin:$PATH"

 

To have launchd start php53 at login:

    ln -sfv /usr/local/opt/php53/*.plist ~/Library/LaunchAgents

Then to load php53 now:

 

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php53.plist

 三、至于mysql的安装,这边我就不说了,大家自己去百度看看吧!

 

四、接下来开始说安装zend framework1的配置

我们首先需要到官网下载完整的压缩包,下载完了以后解压缩需要把

这个目录下面的zend文件夹拷贝一分到php include_path的目录路径下

这个具体路径自己在phpinfo里面找,这里我们使用zf这个工具来创建项目文件夹

我们需要将上图中的bin文件夹下面的zf.sh zf.php这两个文件移到/usr/bin,这里还需要创建环境变量

大家参考这篇文章:

我们切换到/users/liupeng/sites这个目录下面

zf create project zendframework

这时候就会在该目录下自动生成项目文件夹。

 

最后一步,我们设置虚拟主机:

  首先在apache的配置文件中开启虚拟主机配置:

  

将该条语句前面的注释去掉,开启加载虚拟主机配置,下面我们就去虚拟主机配置文件中进行设置

sudo vim /etc/apache2/extra/httpd-vhosts.conf,下面大家可以参考我的配置,注意我打勾的地方,这个是zend framework框架的主入口,别写错

 这里大家要注意开启rwrite重写模块,在httpd.conf里面打开相关模块(就是去掉前面的注释号)

大家注意也要在directory里面开启,就是那几条语句,一定要注意。

好了,先说到这里。我要去好好研究环境变量的问题。不清楚的你们可以直接留言或者给我发邮件,我们一起探讨!以前遇到问题总喜欢逃避,各种百度谷歌,还是静下心来自己思考后再寻找解决方法才是王道啊 

这篇文章仅仅是留给自己日后参考而写,折腾了两天才搞定。遇到点问题就疯狂的找百度找谷歌,最后才发现还是要好好的看终端返回给你的信息,里面其实已经有了解决答案,最大的问题还是自己的心不够细。

这篇文章主要参考百度谷歌的资料,还有yansu的博客

转载于:https://www.cnblogs.com/may5/p/4280284.html

文章来源:https://blog.csdn.net/weixin_30466421/article/details/99537145
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-16758.html

相关文章

异步消息处理机制-Android中Handler原理(续)

异步消息处理线程是指线程启动后会进入一个无限循环,每循环一次,从内部的消息队列里面取出一个消息,并回调相应的消息处理函数。一般在任务常驻,比如用户交互任务的情况下使用异步消息处理线程。 之前在Android中Handler原理里面研…

linux 命令管道及重定向,Linux多命令协作:管道及重定向

Java中的递归运算Java中的递归运算是一种在自己的方法内部调用自己的方法 递归的设计思想是:把一个复杂的问题,分解为若干个等同的子问题,重复执行,直到之问题能够简单到直接求解,这样复杂的问题就得以解决. 递归运算有两 ...IIS网站服务器性能优化指南(转载&rpar…

服务器千兆网卡接百兆交换机不通_关于赫斯曼工业交换机光模块的测试,以失败告终...

最近某工程甲购了赫斯曼RS30-0802O6O6SDAEHC,并且配备了SFP光模块,说是用的多模光缆,从参数可以看出6A1a是50/125μm的多模光缆,因此配备的尾纤和光纤跳线也是同型号的产品。赫斯曼自控用多模光缆GYXTW-6a1A光缆GYXTW-6a1A光缆&am…

输入法之模型剪枝一(基于熵的剪枝)

prunning,剪枝,顾名思义就是减掉那些不重要的。从理论上来讲,剪枝达到的效果就是剪枝后的q和剪枝前的 p 最大化相似,有两种算法 entroy-based以及rank-based。针对model,使用相对熵来刻画D(q||p) 来刻画,保…

linux+shell+shuf,【shell】shuf命令,随机排序

react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)react学习小结 本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...创建如下三…

Java异常,配置log4j

注意: 1.Java中的所有异常都是由Throwable类的子类生成的对象,所有的异常类都是Throwable类的子类或子类的子类。Throwable类是Object类的直接子类,Error类和Exception类是Throwable类的两个直接子类。 Error 错误类 java.lang.Error 错误类一般是指虚拟…

dynamo python修改多个参数_10分钟学会Python基础知识

看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了。最好还是把代码敲一下。一、函数基础python入门简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运…

关于EventWaitHandle的Reset

http://www.codeproject.com/Articles/39040/Auto-and-Manual-Reset-Events-Revisited 转载于:https://www.cnblogs.com/chucklu/p/4281778.html

linux下uart缓存,Linux下的UART试验

一、试验概述(1)试验目的:掌握通过文件系统操作UART设备的方法.(2)在linux中,所有设备都是以文件的形式被打开并进行读/写操作的,本试验中使用POSIX兼容的文件操作接口函数对底层设备进行操作.其中,POSIX是Portable Operating System Interfa…

Docker 安装 Tomcat

Docker 安装 Tomcat 方法一、docker pull tomcat 查找 Docker Hub 上的 Tomcat 镜像: 可以通过 Sort by 查看其他版本的 tomcat,默认是最新版本 tomcat:latest 。 此外,我们还可以在控制台使用 docker search tomcat 命令来查看可用版本: …