2012-02-23 10 views
0

PHP(CodeIgniter)アプリのインストールスクリプトを作成しようとしています。ユーザーからCIデータベースのconfファイルに取得するデータベース情報を書き込む必要があります。もちろん、configディレクトリに書き込み権限がないので、アクセス権の問題が発生します。だから私の質問は、フォルダのアクセス許可を自分自身で管理するために自分のアプリをインストールするユーザーになすことなく、これを実現する方法です。PHPで正しい権限のないファイルに書き込む

+0

はあなたが前にファイルをchmod'ing試してみましたがあなたはそれに書き込みますか? – BenOfTheNorth

+0

可能だった場合は、どのような権限システムを使用しましたか? –

+0

@Ben質問を読もうとしましたか? –

答えて

1

ウェブサーバーのフォルダの読み書きオプションが必要です。多くのホストはFTPアクセスでこれを許可しないので、それを使って直接解決することさえできません。このタイプのタスクを実行するには、コントロールパネルシステムを使用します。

「このスクリプトを実行すると、フォルダのアクセス許可が変更されます」というコードはありません。エンドユーザーはこれを行う方法を十分に理解している必要があります。

+1

私は基本的に同意しますが、 wordpressはftpの資格情報を提供することでこの種の問題を解決します。また、関連するファイルを直接更新することはできません(具体的には、webserverユーザがファイルを所有していない場合)。これは "このスクリプトを実行してフォルダのアクセス許可を変更する"のと非常に近いです。 – AD7six

+0

これは参考になるかもしれませんが、解決策が100%良いものではないようです。 http://stackoverflow.com/questions/8115159/can-people-write-a-php-file-to-my-chmod-777-folder - ところで、WordPressは、通常、ウェブホスト上で「アクティブ化」することによってインストールされますその間、彼らは必要な適切なフォルダやその他のものを作成します。 – scottcarmich

+0

WordPressでそのプロセスのパターンは何ですか、彼はディレクトリに書き込む権限がないのですか?私はそれが一時フォルダにファイルを生成し、初期設定ファイルを一時的なものに置き換えるようなものになると思います。そうですか? – Nick

0

あなたはこのような何かを試みることができる:

- setup script checks permission on configuration files at startup 
- if the files are not writeable, ask user to manually set permission manually (using FTP) 
- after setup finishes the execution, use `chmod` command to make the files not writeable 
- after the setup is completed, ask the user to delete the setup scripts for security reasons (so the setup is not run again by someone else) 

あなたは、フォルダ/ファイルのパーミッション変更するchmodを使用することができます。

// Everything for owner, read and execute for others 
chmod("/somedir/somefile", 0755); 

http://php.net/manual/en/function.chmod.php

+0

これは、私が本当にftpに行ってフォルダーのアクセス許可を変更することを避けたいから、最後の選択肢になります。 – Nick

+0

しかし、ユーザーはどのように初期ファイルを展開しますか?あなたがあなたのアプリを展開しているときにあなたが何をしたいかについてのいくつかの詳細を教えてください。 –

+0

彼らはFTP経由でアプリケーションをデプロイしますが、これは私の祖母がフォルダのアクセス権を管理するよう教えることは難しく、リスクはイホ。一方、PHPで作成されていないdirをchmodするには、手動で権限を与える必要があります。 – Nick

関連する問題