【学习笔记】🍀搭建 php 和 thinkPHP8 遇到的问题总结

465 阅读1分钟

phpEnv 环境搭建

1.png

  • 打开 phpEnv 软件 1.png

  • 启动服务

1.png

  • 访问 localhost

1.png

至此环境安装完毕

自定义域名

上述配置是使用 localhost 本地访问。

phpEnv 也可以自定义域名实现访问

在表单 域名 添加自定义域名,并设置端口后,点击添加

1.png

1.png

此时在 www 目录下生成了 www.hao.com 目录

1.png

访问 www.hao.com

1.png

至此自定义域名配置完毕

thinkPHP 环境搭建

  • 搭建 thinkPHP 前,需要查看是否安装了 composer

1.png

或者通过命令查询

1.png

  • 设置镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

1.png

  • 进入到 www 目录下安装 thinkPHP
composer create-projeect topthink/think www.hao.com

1.png

  • 使用 thinkPHP 内置命令启动项目
php think run

1.png

1.png

自此thinkPHP 环境搭建完毕

内外置服务器

上面是使用了内置服务器启动了 thinkPHP 项目,此时我们访问www.hao.com

1.png

很明显是访问不了,此时的 www.hao.com 是外置服务器启动的服务。

www.hao.com 目录是放了 thinkPhp 项目

1.png

因为外置服务器是默认访问 www.hao.com 目录下的 index.php 目录的,很明显 www.hao.com 目录是没有 index.php 目录的。

解决方法

www.hao.com的根目录指到 public 目录即可

1.png

此时访问 www.hao.com正常能够访问到 thinkPHP 项目

1.png

No input file specified

通过(http:www.hao.com/Index)外置服务器访问 Index 类的 index 方法时会无法访问,界面上会输出 No input file specified

1.png

首先通过(http:www.hao.com:8000/Index)内置服务器访问时可以正常访问的

1.png

问题是出在需要去改写 url

改写 public 目录下的 .htaccess 即可

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
  RewriteCond $1 !^(index.php|images|robots.txt)
  RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>

若不行,改成这个试试,这些是网上查找的

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [L,E=PATH_INFO:$1]
</IfModule>

1.png

总结

目前搭建 php 和 thinkPHP 环境遇到就是这些,后续遇到哪些问题也会在这里更新✍️