Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii-应用程序运行时路径“;{path}";无效。请确保它是可由Web服务器进程写入的目录_Php_Apache_Yii - Fatal编程技术网

Php Yii-应用程序运行时路径“;{path}";无效。请确保它是可由Web服务器进程写入的目录

Php Yii-应用程序运行时路径“;{path}";无效。请确保它是可由Web服务器进程写入的目录,php,apache,yii,Php,Apache,Yii,我是Yii的新手,所以请容忍我。我在MacBook上有一个现有的XAMPP设置,还有一个现有的项目我需要看看。起初,项目正在寻找一个yii.php,因此我下载了相应的版本(1.1.17),并将其解压缩到/htdocs/ 我将其重命名为yii,并将my index.php中的yii目录设置为: $yii=dirname(__FILE__).'/../../yii/framework/yii.php'; 作为参考,该项目有以下目录:htdocs/cdforum/web/index.php 我想,一

我是Yii的新手,所以请容忍我。我在MacBook上有一个现有的XAMPP设置,还有一个现有的项目我需要看看。起初,项目正在寻找一个yii.php,因此我下载了相应的版本(1.1.17),并将其解压缩到
/htdocs/

我将其重命名为
yii
,并将my index.php中的yii目录设置为:

$yii=dirname(__FILE__).'/../../yii/framework/yii.php';
作为参考,该项目有以下目录:
htdocs/cdforum/web/index.php

我想,一切就绪后,我启动了XAMPP,并加载了
http://localhost/cdforum/web/index.php
仅遇到以下错误:

抛出新的CException(Yii::t('Yii','Application runtime path'{path}) 无效。请确保它是可由Web写入的目录 服务器进程。'

我看到一些人通过chown将
yii
文件夹的所有权设置为他们自己的,或apache来克服这个问题,但第一个选项对我不起作用,apache显然是一个非法用户名


还有什么我可以试试的吗?

在Apache的
httpd.conf
文件中更改您的用户名:group:

关于第181-182行:


您的Mac中的用户。

不要更改Apache用户和组。Apache拥有自己的用户和组有很好的理由。下面是一个可能出错的简单示例

在开发过程中,你会在应用程序中出错并删除文件 递归地在一个目录中,这个目录有一个sym链接,您可以 进入你的主目录,删除你家中的所有内容 目录。如果用户不同,则不会发生这种情况

在生产中,如果您将用户/组的所有者更改为真实用户帐户,您几乎肯定会招致运营部的愤怒,即您正在创建一个安全漏洞,一个糟糕的漏洞

正确的做法是按照它的要求执行,即使用apache进程使目录可写,即使用
chown
chmod

chmod 777 ./path/to/directory

在prod中,apache需要写入的目录要么对apache用户具有组写入权限,要么归apache用户所有。只有那些需要写入权限的目录,没有其他内容。

谢谢。这很有效。值得注意的是,出于某种原因,
locate
说我有多个
httpd.conf
fi是的,这取决于你的网络运行在什么apache上,Mac也有内置的Apache2;)