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 相关文章推荐
isset和empty的区别
Jan 15 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
php strrpos()与strripos()函数
Aug 31 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 PHP
PHP开发Apache服务器配置
Jul 15 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
CI框架使用composer安装的依赖包步骤与方法分析
Nov 21 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 array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
PHP中ini_set与ini_get用法实例
2014/11/04 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
2015/06/10 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
JS实现移动端在线签协议功能
2019/08/22 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
原生js实现自定义滚动条组件
2021/01/20 Javascript
深入理解javascript中的this
2021/02/08 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
python二分法实现实例
2013/11/21 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
查看django版本的方法分享
2018/05/14 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
在python中做正态性检验示例
2019/12/09 Python
学python需要去培训机构吗
2020/07/01 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
CSS3 2D模拟实现摩天轮旋转效果
2016/11/16 HTML / CSS
英国打印机墨盒销售网站:Ink Factory
2019/10/07 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
最新的大学生找工作自我评价
2013/09/29 职场文书
学生打架检讨书
2014/02/14 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年个人总结范文
2015/03/09 职场文书
百万英镑观后感
2015/06/09 职场文书
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技