Ubuntu18.04下基于apache2部署Zend Framework 3 MVC框架【含BUG/问题解决】)

20 篇文章 1 订阅
3 篇文章 0 订阅

这部分的内容相关资料有一些旧了,存在一些版本问题,血压很容易就上来了…
我把我遇到的问题统一整理到这篇博客中,供参考。

更多的安装方式参考Zend Framework的官方资源:

Zend Framework (github.com)

下面是安装步骤:

1.安装Apache2和PHP

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2 
$ sudo apt-get install mysql-server mysql-client nginx php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-intl php-pear php7.2-imagick php7.2-mcrypt php7.2-memcached git git-core
$ sudo apt-get install php7.2-mbstring

注意,上述的拓展包有可能出现连接无法访问的情况(当然首先看看是不是资源名称的正则不匹配了),这个时候可以尝试去Ubuntu软件的“软件与更新”里更改一下软件源:

在这里插入图片描述

点击“软件与更新”后,点击“下载自:”

在这里插入图片描述

一般我们的默认下在源都是中国的服务器,有些资源可能在中国服务器上没有或者被墙了,这个时候我们换到mirrors.ubuntu.com这个Ubuntu的官方下载源试试,说不定能行。

2. 安装PHP Composer

$ curl -sS https://getcomposer.org/installer | sudo php
# 没有下载curl的话根据提示用apt-get install XXX 自行下载了,类推。
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo chmod +x /usr/local/bin/composer

3.安装Zend Framework 3

$ cd /var/www
$ sudo git clone git://github.com/zendframework/ZendSkeletonApplication.git
$ cd ZendSkeletonApplication
$ sudo composer install
可能出现的问题与解决办法:
  1. 如果在执行sudo composer install的时候安装失败并提示错误,有可能是版本的错误:

    • 要求的php版本大概在5~7之间,最新版本的php8是不支持的,包括对应的拓展包。

    • composer的版本下载下来默认是最新的,可能看到提示说composer installer api需要^0.1.7||^1.0之类的,那我们直接给composer降级就可以,命令如下:

      如果想把composer从2版本降到具体的1.0.0版本(推荐使用)
      $ composer self-update 1.0.0
      
      如果想降到1的版本
      $ composer self-update --1
      
  2. 如果composer install之后若有警告表示无法创建XXX文件的话,使用sudo chmod -R 777 [目录路径]更改一下权限就好了。

  3. sudo composer install的时候若是一直卡在composer Updating dependencies (including require-dev),到这一步推荐使用阿里云的composer镜像,否则之后的下载全都是failed,命令如下:

    sudo composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    
  4. 如果sudo composer install的时候出现如下报错:

    [ErrorException]                         
    Illegal offset type in isset or empty 
    

    删掉之前的ZendSkeletonApplication文件然后重写下载一个并重新sudo composer install就行了。

  5. 注意如果之前把nginx也配置在80端口的话需要先把nginx服务关掉,否则apache2服务启不来。

上述问题解决之后,sudo composer install正确执行的界面如下:
在这里插入图片描述

执行到一半系统会问你是否最小安装,按个人需求根据系统提示安装就好了:
在这里插入图片描述

成功安装完毕的提示应该是这样的:
在这里插入图片描述

4. 服务测试

$ php -S 0.0.0.0:8080 -t public/ public/index.php

浏览器里面输入:http://localhost:8080,若看到如下ZF的Welcome界面就说明安装成功了:

5. 配置Apache2的站点

$ sudo vim /etc/apache2/sites-available/zf.com.conf

然后编辑配置文件如下:

 <VirtualHost *:80>
 ServerName zf.com
 DocumentRoot /var/www/ZendSkeletonApplication/public
  
 <Directory /var/www/ZendSkeletonApplication/public>
 AllowOverride All
 # Require all granted # For Apache version >=2.4
 # Order allow,deny # For Apache version < 2.4
 Allow from all # For Apache version < 2.4
</Directory>
</VirtualHost>

6.激活的站点配置

$ sudo a2ensite zf.com
$ sudo service apache2 reload

如有疏漏错误之处欢迎批评指正。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狱典司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值