本文实例讲述了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.
最后出现以上时,安装成功,
这里先声明,本文档适合在本地虚拟机安装的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程序设计有所帮助。