这部分的内容相关资料有一些旧了,存在一些版本问题,血压很容易就上来了… 我把我遇到的问题统一整理到这篇博客中,供参考。
更多的安装方式参考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
$ 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
Allow from all
</Directory>
</VirtualHost>
6.激活的站点配置
$ sudo a2ensite zf.com
$ sudo service apache2 reload
如有疏漏错误之处欢迎批评指正。
|