「php」タグアーカイブ

【PHPエラー】500 Internal Server Error : UID of script “/home/XXX/newfile.php” is smaller than min_uid


PHPを実行した時に以下の様なエラーが出る場合が
あります。

500 Internal Server Error : UID of script “/home/XXX/newfile.php” is smaller than min_uid

Internal Server Error
UID of script “/home/XXX/newfile.php” is smaller than min_uid
suPHP 0.7.1

 

このエラーの原因は、対象PHPファイルの所有者がrootになっている事が原因でした。この所有者・権限を変更する事によりエラーが出なくなります。

WinSCPを起動 > 対象ディレクトリの上で右クリック > プロパティ(P) >

グループ

所有者

それぞれがrootになっている場合には、これをユーザ名に変更する。

ここでは、 rootからhogehogeに変更しました。

php-error

 

 

次に、

同じパーミッション/グループ/所有者を再帰的に設定(R)

にチェックを入れて、OKボタンを押せば解決しましす。

******************************************************

2018/04/29 追記

phpの画像認証ライブラリ securimageを実行してみたところ

securimage_show.php

ファイル自体の所有者・グループがrootになっている状態だとこのエラーが発生しました。

chown {hoge_user}:{hoge_user}  securimage_show.php

ファイルの所有者・グループを{hoge_user}にchownコマンドで変更したところ正常に画像認証の画像が表示される様になりました。

 

 


さくらインターネット等のレンタルサーバ上でPHPのインストールされている場所を調べるには?


レンタルサーバを契約した時にcronからphpを実行させる為に、phpのインストールされている場所を調べたい場合があります。

その場合には

whereis php

を実行すればphpのインストールされた場所が表示されます。

実行すると

php: /usr/local/bin/php

という風にインストール場所が表示されます。

whereis


TeraTermから直接PHPスクリプトを実行するには?


通常PHPスクリプトはブラウザから

http://***/test.php

とアクセスする事により実行しますが、バッチ処理等でPHPスクリプトをコマンドラインからサクッと実行したい事があります。

その場合には、

TeraTermを起動し

php  {対象スクリプト}

php execute_hoge.php

と入力しEnterを押せば完了します。

実に簡単です。


さくらインターネットでPHPエラー発生時にエラーメッセージが表示される様にするには?


さくらインターネットを契約しwww配下にtest.phpを配置しました。

間違えたコードを記述したので本来はエラーが出る筈なのに出ません。なぜでないのかなと調べていたところphp.inidisplay_errors = Onを記述する事によりエラーメッセージが無事出る様になりました。

サクラインターネットのサーバコントロール画面より直接php.iniを編集する事が出来ます。

php_error


画像を表示させる方法


PHP内での画像を表示させる方法を紹介します。

まずはじめに、eclipseに画像を入れます。
わかりやすいように、デスクトップ上にウェブに反映したい画像を貼りつけておきます。
この画像の上で右クリックし「コピー」を選択します。

次にeclipseを開き、画像を移します。
まずは開発環境のwwwの「img」を選択します。
汎用性の高い、よく使う画像であればimgの中に「common」という名前のフォルダを作ると、画像の整理もでき、良いかと思います。
フォルダを選択した状態で右クリックし「貼り付け」をクリックします。
そうすると、フォルダの中に画像が貼りつけられるので、eclipseへの画像の反映は完了です。

次はこの画像をウェブに反映させるための作業です。
表示させたいページに下記のようにPHP内に書き出します。

print(“<img src=¥”/フォルダ名/画像名¥”>”);

※¥は半角の円マークにしてください。
※フォルダ名は一つ中に入るごとに半角スラッシュで区切ります。

このような式を書き保存したあとにウェブを見ると、画像が反映されていることがわかると思います。

また、altを使うと画像がなんらかの形で潰れて見れなくなってしまった際に、画像の説明文を表示させることができます。

print(“<img src=¥”/フォルダ名/画像名¥” alt=¥”サイトのロゴ¥”>”);

※¥は半角の円マークにしてください。
※フォルダ名は一つ中に入るごとに半角スラッシュで区切ります。

こうすることで「サイトのロゴ」という説明文付きの画像をアップすることができます。