Laravel框架在本地虚拟机快速安装的方法详解


Posted in PHP onJune 11, 2018

本文实例讲述了Laravel框架在本地虚拟机快速安装的方法。分享给大家供大家参考,具体如下:

一直想学习larvael,可似乎发现单纯的安装就要浪费很长时间,也许我是新手的关系吧。

我是本地虚拟机安装的linux系统,centos7加php7

第一步:要保证你的机器上正确安装有curl,具体方法可参见本文附录说明

第二步:使用curl来安装composer,你要明白composer是一个基于php的安装包管理工具,服务于php生态系统。

安装命令如下:

curl -sS https://getcomposer.org/installer | php

必须保证网络稳定,否则你会遇到很多麻烦。

等上面的composer安装完成后,会提示composer.phar所在目录,然后

执行mv composer.phar /usr/local/bin/composer添加到全局命令,然后就可以使用composer简化命令来使用composer了

第三步:安装laravel:

使用root用户安装时,也许会提示什么权限问题,这时你需要adduser 用户名,添加一个用户,然后passwd 用户名,添加密码,然后su 新用户名 切换普通用户

不过在执行安装laravel时,除非你使用流畅的vpn,否则依然很慢,问题一堆。

这时你可以将composer源,切换到国内的,参见composer国内镜像https://pkg.phpcomposer.com/,使用官网提供的任意一种方法来切换源。

然后执行composer create-project laravel/laravel your-project-name --prefer-dist "5.1.*"安装,将your_project-name替换你要安装的目录  后面是版本号,我使用的是5.1

在执行上面的安装命令时,记得提前进入要安装的目录.因为默认是安装在当前执行命令下的目录.

然后静静等待安装成功

phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
phpspec/phpspec suggests installing phpspec/nyan-formatters (~1.0 ? Adds Nyan formatters)
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
> php artisan key:generate
Application key [ey7saOCCJBcaRwsikqavNsVVdjGOA9tI] set successfully.

最后出现以上时,安装成功,

附:Linux centos7环境下 php7 编译安装 php 扩展包 curl

这里先声明,本文档适合在本地虚拟机安装的centos,php7版本上面

折腾近一上午,终于解决了该问题

是因为下载curl安装后,虽然制定到了/usr/local/curl目录,但是并无法执行phpize,因为必须要到/lamp/php-7.0.7下边的ext下边的curl才能执行phpize,这样才会生活curl.so

php源码目录:/lamp/php-7.0.7

php编译目录:/usr/local/php/

curl源码目录:/root/curl-7.32.0

1.curl,主要用于发送http请求,是php的一个扩展包。

2.安装过程:

(1)curl下载:http://curl.haxx.se/download.html

(2)具体安装过程:

wget http://curl.haxx.se/download/curl-7.32.0.tar.gz
tar zxvf curl-7.32.0.tar.gz
cd curl-7.32.0
./configure --prefix=/usr/local/curl
cd /(php源码目录,不是php编译目录)/ext/curl

运行phpize:

/(php编译目录)/bin/phpize
./configure --with-php-config=/(php编译目录)/bin/php-config --with-curl=/(curl源码目录)

以我的为例为:

./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl
make && make install

修改php.ini,增加:extension=curl.so(如果没有安装过其他php扩展,则需要同时配置extension_dir="/(php编译后目录)/lib/php/extensions/no-debug-non-zts-20121212/",上一个步骤生成.so文件的时候,会输出extension_dir目录)

(3)检验是否安装成功:

/(php编译后目录)/bin/php -m | grep curl ——正常打印curl,则表示安装成功(php -m会打印出已安装的扩展模块)

3.踩过的坑:

(1)直接在curl的源码目录最上层,运行phpize,提示如下错误:

Cannot find config.m4.
Make sure that you run '/home/zhuyx/local/php-5.5.3/bin/phpize' in the top level source directory of the module

原因:

    phpize扩展安装,源包需要有config.m4这个配置文件;当前扩展的源码包不包含(memcache的就包含)。

解决方法:

(1)进入php源码包的 ext/curl 下面运行phpize,再进行安装

(2)./configure --with-php-config=/php编译后目录/bin/php-config  --with-curl=curl源码目录

问题扩展:

    安装其他的php扩展的时候,遇到类似问题,都可以采取上述解决方案。

(2)关于php.ini

    楼主一开始修改的是 php编译后目录/lib/php.ini 这个文件,修改之后新增模块并不生效。后来才知道,前面这个是默认(编译时候不指定)的扩展配置目录,如果编译的时候指定了php.ini的目录,以后都需要修改指定目录下的php.ini,例如楼主的是 php编译后目录/php.ini 。

(3)调用curl()的php脚本,命令行可以运行,浏览器访问提示如下错误:

    Fatal Error:Call to undefined function curl()

原因:

    楼主的服务器是nginx,安装了curl扩展后,没有重启php-fpm导致。

解决方法:

    重启php-fpm.
    ps aux | grep php-fpm (找到master进程)
    kill -SIGINT master进程
    进入php-5.5.3/sbin,执行  ./php-fpm(启动)

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP脚本的10个技巧(6)
Oct 09 PHP
php生成SessionID和图片校验码的思路和实现代码
Mar 10 PHP
PHP添加Xdebug扩展的方法
Feb 12 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
php中base_convert()进制数字转换函数实例
Nov 20 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
Apr 01 PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 PHP
php源码的使用方法讲解
Sep 26 PHP
win10下 php安装seaslog扩展的详细步骤
Dec 04 PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 #PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 #PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 #PHP
PHPMailer ThinkPHP实现自动发送邮件功能
Jun 10 #PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 #PHP
PHP实现二维数组中的查找算法小结
Jun 09 #PHP
PHP实现链表的定义与反转功能示例
Jun 09 #PHP
You might like
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
Python探索之Metaclass初步了解
2017/10/28 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
python读取各种文件数据方法解析
2018/12/29 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
通过自学python能找到工作吗
2020/06/21 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
美国美妆网站:B-Glowing
2016/10/12 全球购物
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
精伦电子Java笔试题
2013/01/16 面试题
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
编辑求职信样本
2013/12/16 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA