码迷,mamicode.com
首页 > 系统相关 > 详细

mac os下部署laravel项目笔记

时间:2015-08-16 02:11:12      阅读:572      评论:0      收藏:0      [点我收藏+]

标签:laravel   mac   php   mysql   apache   

最近在mac os下部署一个laravel项目,一直都听说mac上配置php+apache+mysql很简单,但是对于不熟悉的我还是遇到了不少的麻烦。一开始装了MAMP,以为和windows上的集成环境一样简单,结果还是遇到了很多问题。最后还是用了brew。
brew的安装:

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


大家可以上官网看更多的资料:http://brew.sh,用来安装管理各种软件十分方便。还有就是大家最好安装一下xcode,因为有时候安装东西可能提示缺少一些文件什么的,网上很多解决方案都是从xcode下找然后建立同步链接的。

  • php配置

先用brew安装了autoconf、mcrypt,然后下载并解压php源码,根据自己情况选择对应版本。(注意以下命令中php的版本),查看php的版本可以用php -v查看。终端依次执行以下命令:

cd php-5.4.17/ext/mcrypt/ 
/usr/bin/phpize 
./configure 
make 
sudo make install



出现:
Build complete.

说明成功了。

如果phpize出现如下错误:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include grep: 

老实点,brew安装autoconf。

*如果make出现如下错误:

/ext/mcrypt/mcrypt.c:25:10: fatal error: 'php.h' file not found sudo ln -s 

执行如下命令即可:

/usr/include/php/main/php.h: No such file or directory grep: /usr/include/php/Zend/zend_modules.h: No such file or directory grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No: Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.


所以大家还是装下xcode啦。

最后打开php.ini,貌似一开始只有php.ini.default,大家可以copy一份出来即可。

sudo vi /etc/php.ini

添加如下代码:(注意no-debug-non-zts-20121212版本号,如果不清楚可以前往/usr/lib/php/extensions/查看)

extension=<span style="font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, STHeiti, 'Microsoft Yahei', sans-serif;">/usr/lib/php/extensions/no-debug-non-zts-20090626/</span><span style="font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, STHeiti, 'Microsoft Yahei', sans-serif;">mcrypt.so</span>

  • apache的配置
apache的配置比较简单,apache配置文件在/etc/apache2/httpd.conf,大家修改前最好做好备份,sudo vi httpd.conf打开修改,当然,有所需要才修改。apache的documentroot默认在/Library/WebServer/Document下,需要的把项目放进来即可。

apache的一些命令:sudo apachectl start; sudo apachectl stop; sudo apachectl restart。

这里还有点插曲,我遇到"You don‘t have permission to access / on this server."的提示,从字面意思是说,我们没有访问本服务器的权限,原因有可能是虚拟主机开启了,然后配置了deny from all?或者是storage没有权限?还是apache配置文件少了配置响应文件名:?

<IfModule  dir_module>

    DirectoryIndex    index.html   index.htm  index.php  server.php

 </IfModule>

最后怎么解决的不太记得了,原因可能上面所列。


  • Mysql的配置
还是brew,执行:
[plain] view plaincopy
  1. brew install mysql  
配置:
[plain] view plaincopy
  1. mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp  

执行完成后就可以在终端中运行mysql 命令了。设置 mysql 开机启动,大家按照自己的版本改:

[plain] view plaincopy
  1. mkdir -p ~/Library/LaunchAgents/  
  2. cp /usr/local/Cellar/mysql/5.6.26/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/  
  3. launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist  


  • laravel的部署
之前的部署改得太乱,重现从svn checkout后,安装了composer:
[plain] view plaincopy
  1. curl -sS https://getcomposer.org/installer | php  
官网:http://www.getcomposer.org,在install的时候发现出错了:
[plain] view plaincopy
  1. file_put_contents(/Library/WebServer/Documents/www/developed-101/app/stor    
  2.   age/views/9c36d0e7dfaf852919af8da5a89f89a): failed to open stream: No such    
  3.    file or directory      
于是自己建立了views文件夹。然后就成功了。

结果最后发现,访问localhost会直接出现index.php的页面,不太知道什么原因,然而无意中发现,使用php artisan serve也是可以开启服务访问项目的,然后就先这样吧,apache配置哪里漏了如果大家知道请指导一下我,谢谢。

版权声明:本文为博主原创文章,未经博主允许不得转载。

mac os下部署laravel项目笔记

标签:laravel   mac   php   mysql   apache   

原文地址:http://blog.csdn.net/nohaoye/article/details/47692907

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!