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模板技术原理【一】
Jan 10 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
php var_export与var_dump 输出的不同
Aug 09 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
PHP单例模式详细介绍
Jul 01 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
Yii核心验证器api详解
Nov 23 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
php防止sql注入的方法详解
Feb 20 PHP
PHP检查端口是否可以被绑定的方法示例
Aug 09 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
PHP 实现base64编码文件上传出现问题详解
Sep 01 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中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
php下Memcached入门实例解析
2015/01/05 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
php查看网页源代码的方法
2015/03/13 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
详解php与ethereum客户端交互
2018/04/28 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
深入探寻javascript定时器
2015/01/02 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
Vue表单控件绑定图文详解
2019/02/11 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
Python实现线程池代码分享
2015/06/21 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
巴西购物网站:Estrela10
2018/12/13 全球购物
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
贫困证明书范文
2015/06/16 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
公司员工离职感言
2015/08/03 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL
sql注入报错之注入原理实例解析
2022/06/10 MySQL