Ubuntu18.04下基于apache2部署Zend Framework 3 MVC框架含BUG/问题解决)
Posted 狱典司
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu18.04下基于apache2部署Zend Framework 3 MVC框架含BUG/问题解决)相关的知识,希望对你有一定的参考价值。
这部分的内容相关资料有一些旧了,存在一些版本问题,血压很容易就上来了…
我把我遇到的问题统一整理到这篇博客中,供参考。
更多的安装方式参考Zend Framework的官方资源:
下面是安装步骤:
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
可能出现的问题与解决办法:
-
如果在执行
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
-
-
如果
composer install
之后若有警告表示无法创建XXX文件的话,使用sudo chmod -R 777 [目录路径]更改一下权限就好了。 -
sudo composer install
的时候若是一直卡在composer Updating dependencies (including require-dev)
,到这一步推荐使用阿里云的composer镜像,否则之后的下载全都是failed,命令如下:sudo composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
-
如果
sudo composer install
的时候出现如下报错:[ErrorException] Illegal offset type in isset or empty
删掉之前的ZendSkeletonApplication文件然后重写下载一个并重新sudo composer install就行了。
-
注意如果之前把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
如有疏漏错误之处欢迎批评指正。
以上是关于Ubuntu18.04下基于apache2部署Zend Framework 3 MVC框架含BUG/问题解决)的主要内容,如果未能解决你的问题,请参考以下文章
kubeadm部署1.17.3[基于Ubuntu18.04]
kubeadm部署1.17.3[基于Ubuntu18.04]