Win10&Linux下Apache2+PHP7+Mysql安装以及创建Laravel项目

Win10开启开发者选项,可以安装Linux子系统,系统为:Ubuntu 14.04.5 LTS。进入cmd命令行,输入bash命令,可进入Linux bash(第一次需要安装)。进入bash后,和在真正的Ubuntu 14.04.5系统的bash中就基本没什么区别了。

安装步骤

更新源

sudo apt-get update
sudo apt-get upgrade

安装Apache2

sudo apt-get install apache2
#打开apache2服务
sudo service apache2 start

安装完毕后,打开浏览器,输入http://localhost,应该就能看到apache的默认页面了

安装php7

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php

整合php7与apache2

sudo apt-get install libapache2-mod-php
sudo service apache2 restart

在Apache的默认网站更目录 /var/www/html下添加一个info.php文件,输出phpinfo:

sudo vi /var/www/html/info.php

文件内容填入:


phpinfo();
?>

这时候,在浏览器输入http://localhost/info.php应该就能看到phpinfo的页面了。

安装mysql

sudo apt-get install mysql-server mysql-client

在安装的过程中会要求输入密码。

整合mysql与php7

sudo apt-get install php-mysql

下载安装Composer

LAMP环境准备完毕后,下载安装Composer:

curl -sS http://install.phpcomposer.com/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

执行完毕后,就可以执行Composer命令了

下载Laravel安装包

composer global require "laravel/installer"

创建Laravel工程

composer create-project laravel/laravel appname --prefer-dist

配置站点

进入/etc/apache2/sites-available,拷贝000-default.conf为一个新的web.conf,修改:

85>
        ServerName w.myweb.com
        ServerAdmin webmaster@localhost
        DocumentRoot /mnt/f/web/appname/public

        
                Options FollowSymLinks Indexes
                AllowOverride None
                Require all granted
        

        # 为了让出错的时候可以在浏览器上显示出来
        # 同时还需要在php.ini中配置 display_errors = On 
        # 以及error_reporting = E_ALL | E_STRICT
        php_flag display_errors on
    php_value error_reporting 2039

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

然后修改端口号:

sudo vi /etc/apache2/ports.conf 

增加端口:

Listen 80
Listen 85

接着修改hosts:

vi /etc/hosts

增加一行:

127.0.0.1 w.myweb.com

接着重启apache2:

service apache2 restart

至此,安装就搞定了。

遇到的问题

  • 1、先安装了PHP5.6 再安装PHP7.1后,phpinfo显示源码
    卸载掉php5.6,保证/etc/apache2/mods-available文件夹下不会有多个php.load和php.conf
  • 2、phpinfo上,不显示mysql信息
    需要安装php-mysql,linux在php.ini中修改extension=*.dll是无效的。这是windows下的动态库
  • 3、500错误,浏览器上不显示具体错误信息
    如上面所说,需要修改php.ini及apache中的站点的配置
  • 4、访问Laravel 应用网站出错Warning: require(/vendor/autoload.php): failed to open stream: No such file or dire
    Laravel的相关依赖没有安装,需要在网站根目录使用composer install进行安装,以前安装过的话使用:composer update
  • composer下载慢
    使用中国镜像
  • update 或者install出错
    详细信息会显示出来,通常是php的一些扩展没装,我遇到的事mbstring和dom没装,分别装上就ok了:
apt-get install php-mbstring
apt-get install php-xml
  • update或者install过程出现警告: The zip extension and unzip command are both missing
    看名字看出来了,安装zip就好了:apt-get install zip
  • 访问Laravel 应用报错:ERROR: RuntimeException: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths
    这是因为网站下面.env中APP_KEY为空,需要用php artisan key:generate 生成key。执行成功.env文件中的APP_KEY就有了。如果网站根目录下面的.env不存在,而是.env.xxx的一个文件,需要充命名为.env,如果在Win10 下命名为.env出错,可在linux下命名。

其他

如果想要卸载安装的这些软件,操作如下

  • 卸载Apache
sudo apt-get --purge remove apache-common
sudo apt-get --purge remove apache
  • 卸载php
sudo apt-get –purge remove libapache2-mod-php php php-gd php-mysql
sudo apt-get autoremove php
  • 卸载mysql
sudo apt-get autoremove --purge mysql-server
sudo apt-get remove mysql-server
sudo apt-get remove mysql-common    

你可能感兴趣的:(网站开发)