我也碰到过类似问题,不算解决了,只是换了另外一种方式,可参考下。我这里是linux系统上搭建LNMP,一开始用的cakephp,后来改用thinkphp都碰到过目录不可写问题。
一开始的时候网站部署在/usr/share下面,目录和文件的owner和group都是root用户,目录明明是777的权限还是提示不可写,这个时候我的nginx和php-fpm进程所属用户是nobody。
鉴于出现目录不可写问题,找不到解决办法,我就把nginx和php-fpm都移到了/home/用户(如:tom)目录下,框架也移过来,所有的文件和目录的owner和group都是tom,nginx和php-fpm进程所属也是tom,就没有出现过目录不可写问题。
默认情况就会加载根目录下的配置文件。
在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是:
惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置
以上是配置文件的加载顺序,因为后面的配置会覆盖之前的同名配置(在没有生效的前提下),所以配置的优先顺序从右到左。
在本教程的其余部分,我们将基于 ThinkPHP 框架完成一个天气查询的应用。使用 天气查询-API文档-开发指南-Web服务 API | 高德地图API 的接口来实现我们的功能。把查询数据缓存到 MySql 中,这样就不用每次频繁的请求第三方的接口了(有请求次数限制)
选择高德开放平台-天气查询 API 主要是因为它是免费的。当然你也可以使用其他的第三方天气查询接口,看个人喜好。
该应用是一个非常简单的 REST API 应用,主要实现两个接口。
在我们进行应用编码之前,首先使用 Docker 安装并运行 ThinkPHP
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循 Apache2 开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售 。
这就是为什么我选择它作为本教程的教学框架。我不想让你因为一个框架而放弃,但我也不想从头开始建立所有的东西,因为该教程的重点是Docker,而不是我们的PHP应用。
用Docker 创建 ThinkPHP 应用 实际上比用本地配置PHP环境所需的 *** 作少。并且为我们还需要使用 Composer,多亏了Docker,我们甚至不需要在主机上安装它。
首先打开你的终端,创建一个项目目录。
并进入到该目录中
现在使用[官方Composer Docker镜像](>
APP_NAME 是指项目名称,注意APP_NAME
不要随意设置,通常是项目的目录名称,如果你的项目是直接部署在Web根目录下面的话,那么需要设置APP_NAME 为空。
APP_PATH
是指项目路径(必须以“/”结束),项目路径是指项目的Common、Lib目录所在的位置,而不是项目入口文件所在的位置。
注意:在类Unix或者Linux环境下面Runtime目录需要可写权限。
——以上是手册的说明,不知你看懂没有。
indexphp要Home文件夹中,APP_PATH是相对indexphp的路径,必须以“/”结束,否则生成的文件以之为前缀;
define('APP_DEBUG', true);//开启调试模式
require('/tanshu/ThinkPHP/ThinkPHPphp');//确认路径正确
以上就是关于Thinkphp提示目录不可写,目录无法自动生成请手动生成项目目录全部的内容,包括:Thinkphp提示目录不可写,目录无法自动生成请手动生成项目目录、thinkphp 怎么加载根目录配置文件、Docker PHP 入门实践(三)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)