開発中に.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
何かがあなたがSTILL)(もしくはshell_execに供給取得するコマンドにsudoを追加することが必要であることである。この行を追加すると、私の問題を修正しました。これが他の人に役立つことを願っています。 lessphp
こんにちはEmerson、私はあなたが参照していた場合は著者です。私はこのソリューションを思いついたときに同様の問題を抱えていました。 –