Ubuntu16.0下PHP7.2环境Laravel2.0.1无法打开及创建项目提示问题
解决Ubuntu 16.0下Laravel项目无法打开及Composer建议提示的问题
一、处理Composer的依赖建议信息
这些提示只是Composer在告诉你,安装对应依赖/扩展后能解锁更多功能,并非错误。你可以根据需求选择性安装:
1. 安装PHP扩展ext-intl
在Ubuntu 16.0上给PHP7.2安装这个扩展:
sudo apt-get update sudo apt-get install php7.2-intl # 如果你用Apache,重启服务 sudo systemctl restart apache2 # 如果是Nginx+PHP-FPM,重启FPM服务 sudo systemctl restart php7.2-fpm
2. 安装Symfony相关推荐依赖
通过Composer直接安装这些建议的包:
composer require doctrine/annotations symfony/config symfony/dependency-injection
执行完成后,这些建议提示就不会再出现了。
二、排查Laravel项目无法打开的问题
打不开项目的原因有很多,按以下步骤逐一排查:
1. 检查Web服务器配置
如果你用Apache:
首先确保启用了mod_rewrite模块,Laravel的路由依赖这个模块:sudo a2enmod rewrite sudo systemctl restart apache2然后修改Apache的站点配置,把项目的根目录指向Laravel的
public文件夹,同时允许目录的Override规则:<Directory /path/to/your/laravel/project/public> AllowOverride All Require all granted </Directory>修改后记得重启Apache生效。
如果你用Nginx:
确保配置文件里正确处理了Laravel的路由规则,示例配置片段:location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; }修改后重启Nginx:
sudo systemctl restart nginx
2. 检查项目目录权限
Laravel需要storage和bootstrap/cache目录有写入权限,执行以下命令设置:
sudo chown -R www-data:www-data /path/to/your/laravel/project sudo chmod -R 755 /path/to/your/laravel/project/storage sudo chmod -R 755 /path/to/your/laravel/project/bootstrap/cache
3. 查看PHP错误日志
错误日志能帮你定位具体问题,Ubuntu 16.0上PHP7.2的日志路径通常是:
- Apache环境:
/var/log/apache2/error.log - PHP-FPM环境:
/var/log/php7.2-fpm.log
实时查看日志内容:
# Apache日志 tail -f /var/log/apache2/error.log # 或者PHP-FPM日志 tail -f /var/log/php7.2-fpm.log
然后刷新页面,看日志里的具体错误信息,就能针对性解决了。
4. 检查Laravel环境配置
确保项目根目录存在.env文件,如果没有,复制示例文件并重命名:
cp .env.example .env php artisan key:generate
生成应用密钥后,再尝试访问项目。
内容的提问来源于stack exchange,提问作者Valeriu Seremet
相关产品推荐
相关产品推荐

