GNU/Linux >> Linux の 問題 >  >> Linux

Linux ubuntu で PHP CLI を設定して www-data として実行するにはどうすればよいですか?

別のユーザーとしてコマンドを 1 回実行します。

sudo -u www-data php script.php

これは root の場合に機能するはずです .

常に php を www-data として実行する場合 、いくつかの可能性があります。簡単なラッパー シェルスクリプトを作成できます。 /usr/bin/php の場合 /usr/bin/php5 へのソフトリンクのみです または同様の、それはそれをより簡単にします。ソフトリンクを置き換えるだけです(ファイル php5 ではありません) ) このようなスクリプトで:

#!/bin/sh

sudo -u www-data php5 $*

return $?

ただし、それはテストされていません。また、これは常に php5 を実行しようとすることに注意してください ユーザー www-data として 、たとえユーザーが root でなくても そのための許可がない場合があります。また、それはあなたが本当に望んでいるものではないかもしれません。 php を実行しようとすると、一部のインストール済みサービスで問題が発生する場合があります。

それをルートにのみ適用する(おそらくより良い)解決策は、ソフトリンク /usr/bin/php を残すことかもしれません 単独で、スクリプトを /root/bin に配置します 代わりは。次に、そのフォルダを .bashrc 経由で PATH に追加します 、 .profile または類似。 /etc/skel/.profile がある場合 、それがどのように行われるかを指摘するかもしれません:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

これが .bashrc に入ったら 、 .profile または同様に、新しいシェルを開くたびに、$HOME/bin で任意の実行可能ファイル (+x) を直接実行できます。 (/root/bin ルート用)

ヒント:ラッパー スクリプトに phpwww のような名前を付けるとよいでしょう。 php script.php を明示的に指定します または phpwww script.php 通常の php と sudo された php のどちらが必要かを決定します。

もう 1 つの解決策は、単純なエイリアスです。これを .bashrc に配置します 、 .profile または類似:

alias phpwww='sudo -u www-data php'

Linux
  1. Linux で PHP スクリプトをコンパイルする

  2. ターミナル(ubuntu)でPythonスクリプトを実行するには?

  3. シバンを追加する方法 #! Linuxでphpスクリプトを使用しますか?

  1. LinuxのbashコマンドをPERLスクリプトで実行する方法は?

  2. Linux –画面上でスクリプトを実行する方法ロック/ロック解除?

  3. バックグラウンドでスクリプトを実行する方法 (linux openwrt)?

  1. UbuntuLinuxにPHPをインストールする方法

  2. Linuxシェルコマンド/スクリプトをバックグラウンドで実行する方法

  3. UbuntuLinuxでJarファイルを実行する方法