2011-12-10 3 views
0

開発中に.lessファイルを編集できるように.lessファイルを読み込むようにローカル開発環境を設定しようとしています。生きる時間。理にかなっている?私のMAMPテストサーバー上のPHPスクリプトはnode_moduleにアクセスできない:less

私はローカルテストサーバーとしてMAMPを実行しています。私はここで見つける指示に従っています:要するに http://programming-perils.com/155/parse-less-files-on-the-fly-and-serve-them-as-css/#comment-920

を、計画には、ファイルを.CSSと同じ名前の.lessファイルをコンパイルするPHPスクリプトにそれらを指示するためのhtaccessファイルキャッチ要求を使用することで、 cssコードを返します。

すべてがコマンドラインから動作しているようです。私はコマンドラインから.lessファイルをコンパイルすることができ、それはcssを吐き出します。私はブラウザにURLを入力して私のPHPスクリプトの出力を見ることができるので私の書き換えルールが動作していることを知っている。たとえば、PHPスクリプトでecho shell_exec('pwd');が呼び出された場合は、ブラウザにパスが表示されます。

問題は、rootとしてSSHを使用しない限り、実行するスクリプトが少なくて済むことです。 SSHを終了してコマンドを実行すると、「Permission denied」と表示されます。私はこれが私のPHPスクリプトがこれを呼び出そうとしたときに起きることだと思っています...それで何も返されません。

私は、PHPのスクリプトをどのようにしてコンパイラを少なくするにはどうすればいいですか?

UPDATE!私は問題を解決しました...

lessコマンド(path/path/lessc)がsudoされる必要があることが判明しました。 PHPはこれをしていないので、shell_exec()コマンドは何も返さなかった。だからこそ、私のエコー・ステートメントは駄目だ。

これを回避する方法はたくさんありますが、私はsudoersのリストをsudo visudoで編集するのが私の目的にとって最善であると判断しました。 this postには多くの役立つヒントがありました。試行錯誤を経て、私はPHPがwww-dataアカウントを使用していることを理解しました。覚えておくべき

www-data ALL=(ALL) NOPASSWD: /var/root/node/npm/node_modules/less/bin/lessc 

何かがあなたがSTIL​​L)(もしくはshell_execに供給取得するコマンドにsudoを追加することが必要であることである。この行を追加すると、私の問題を修正しました。これが他の人に役立つことを願っています。 lessphp

+0

こんにちはEmerson、私はあなたが参照していた場合は著者です。私はこのソリューションを思いついたときに同様の問題を抱えていました。 –

答えて

0

それは以下のコマンド(パス/パス/ lessc)がsudo'edするために必要なことが判明:あなたはlesscssのPHP実装を使用したい場合は

0

多分それは容易になるだろう。 PHPはこれをしていないので、shell_exec()コマンドは何も返さなかった。だからこそ、私のエコーステートメントは、DIDの仕事をしてくれたのです。...

上記の質問を編集してください。

+0

それは興味深い考えです。私は今までそれについて聞いていなかった。私の主な躊躇は、サーバーに誤ってアップロードされた場合、無制限のファイルが動作しないようにすることです。私は開発中に無限のファイルだけを必要とします。その後、.cssファイルのみがライブになります。 lessphpがプロジェクトに含まれていると、見逃す可能性があり、.lessファイルは検出されずにライブになる可能性があります。 – emersonthis

関連する問題