次のコマンドを ssh2_exec 経由で php に渡すのに問題があります。コマンドは次のとおりです。
./prog cat <<EOF
a a a
b b
c
d d
EOF
問題は最初の行'cat <<EOF'
です.phpは「EOF」を特別な単語と見なし、'<<EOF'
パスを通常の文字列として渡します。
これに関する解決策はありますか?
アドバイスありがとう
次のコマンドを ssh2_exec 経由で php に渡すのに問題があります。コマンドは次のとおりです。
./prog cat <<EOF
a a a
b b
c
d d
EOF
問題は最初の行'cat <<EOF'
です.phpは「EO
次のコマンドを ssh2_exec 経由で php に渡すのに問題があります。コマンドは次のとおりです。
./prog cat <<EOF
a a a
b b
c
d d
EOF
問題は最初の行'cat <<EOF'
です.phpは「EOF」を特別な単語と見なし、'<<EOF'
パスを通常の文字列として渡します。
これに関する解決策はありますか?
アドバイスありがとう
私の質問は明確ではないと確信していますが、それを置く方法がわかりませんでした。
事は:私はTask
モデルを持っています、そしてTaskHistory
モデルです。Task モデルを作成するときに、関連付けられたオブジェクトを自動的に作成したいと考えていTaskHistory
ます。たとえばdatetime.now()
、値が「example」の Task を に作成したいとします。これを行うと、TaskHistory
オブジェクトが作成されます。
created_on = datetime.now()
last_modification = datetime.now()
old_value = "example"
new_value = "example".
私のモデルのモデルフィールドでそれを行うことはできますTask
か?
私はDjangoにかなり慣れていません。
編集: 2 つのモデルは互いにリンクされていTaskHistory
ますtask = Task
。
私はPHPを知らないので、いくつかの可能な解決策を示します。
EOFを使用しないでください。
./prog cat <<WHATEVER
a a a
b b
c
d d
WHATEVER
ヒアドキュメントを使用せず、printf からのパイプで標準入力を提供します。
printf 'a a a \nb b \nc \nd d \n' | ./prog cat
確かにPHPは、stdinの内容を直接または同様のコマンドに提供する方法を提供していますか?ssh2_exec
<?php
echo "a <<EOF b";
「 」と表示されますa <<EOF b
。PHP が < で「特別な」ことをしていた場合
Idk...おそらくPECLのssh2拡張機能の問題です。または、相手側で使用しているシェルに問題がある可能性があります。どちらの場合でも、純粋な PHP SSH2 実装である phpseclibを使用することをお勧めします。それが修正される PECL 拡張機能の問題である場合、およびシェルの問題である場合は、ログを有効にして、SSH 接続で何が起こっているかを正確に確認できます。