• 締切済み

PHPでは -lで構文チェックを行うとヘルプに書いていますが、

PHPでは -lで構文チェックを行うとヘルプに書いていますが、 なぜか require_once()文以降は、ノーチェックのような気がします。 結局実行させてエラーがあるか見つけています。 perlでは -wオプションでできる(確証はないのですが)のに、phpでは仕方ないのでしょうか? そもそもスクリプト言語は、実行されるまでエラーがわからない?でしょうか。 構文エラーだけでも実行する前に素早く見つけたいです。

  • ne5
  • お礼率4% (5/124)
  • PHP
  • 回答数1
  • ありがとう数4

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

構文エラーはわかると思いますが、どういうエラーが引っかかりませんでしたか? もし、require_once()で読み込んだファイルの中のエラーが見つからないということなら、require_onceを実行してないのでそれはそういうものです。チェックしたいのならそのファイルに対してphp -lを実行すればいい。

関連するQ&A

  • 構文チェックについて

    #!/usr/local/bin/perl $perl = `perl -wc web.cgi`; $perl=~s/[\r\n]/<BR>/g; print <<"END"; Content-type: text/html <HTML> <HEAD><TITLE>PERLCHECK</TITLE></HEAD> <BODY> perl<BR>$perl </BOBY> </HTML> END exit; と以上のように書いてますが。telnet上ではOKと出ますがブラウザでみるとエラーが出ます。 やりたいことは、Telnetを使っての構文チャックではなく、ブラウザ上で構文のチェックは出来ないか模索しています。上記の`UNIXコマンド`の部分で、freeやdf等のコマンドを実行させると実行結果が得られるので、その延長で出来ないかと考えてます。初心者なのですいませんが教えてください。

    • ベストアンサー
    • Perl
  • スクリプト言語としてのPHPについて

    PHPについてほとんど知らない者です(他の言語もほとんど知りませんが・・・)。 Webで検索していると、Webアプリを開発するLL言語としてPHP, Ruby, Python, Perlを使っているというケースをよく目にします。一方、タスクを自動化するためのスクリプトを記述する言語としては、Ruby, Python, Perl, シェルスクリプトで記述しているケースをよく目にします(Linux/UNIX系)。 そして、PHPはWebアプリ開発言語としてかなりのシェアを占めていそうだが、スクリプト言語としてはそんなにシェアを占めていないのかな? という印象を持ちました。 そこでお聞きしたいのですが、スクリプト言語としてのPHPは他の言語と比較してどのような感じなのでしょうか? PHPはWebアプリ開発言語としてだけではなく、スクリプト言語しても開発現場でRuby, Perl同様に使われているといった感じなのでしょうか? あるいは、WebアプリはPHPで書いてるけど、スクリプトはPHP以外(Ruby, Pythonなど)で書いているという方は結構いるのでしょうか?その場合、何故PHPを使わずに別の言語を使っているのでしょうか? ご意見をお聞かせください。

    • ベストアンサー
    • PHP
  • PEAR::MailでPEAR.php?

    Mailを使ってメールを送信したいのですが、エラーがでます。 Warning: require_once(PEAR.php) [function.require-once]: failed to open stream: この PEAR.php はどこで入手できるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • 携帯画像をPHPでリサイズしたい。

    下記サイトに携帯画像のリサイズのPHPサンプルがあります。 SSIで読み込むようにしてありますが、 <?php $_GET['file']='top_btn01.jpg';require_once("trans.php"); ?> として、PHPを読み込んでいます。 この状態なら上手く画像がリサイズされて表示するのですが、 1ページに何枚もリサイズしたい画像があって、 <?php $_GET['file']='top_btn01.jpg';require_once("trans.php"); ?> <?php $_GET['file']='top_btn02.jpg';require_once("trans.php"); ?> <?php $_GET['file']='top_btn03.jpg';require_once("trans.php"); ?> と複数指定すると2枚目以降から表示できず、 (Fatal error: Cannot redeclare encode() (previously declared)とエラーが出ます。 色々調べたりしましたが全く原因がわかりません。 2枚以上指定しても問題なく表示するにはどのようにしたら良いでしょうか? まったく分からず困っています。 大変申し訳ないですがよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP5で自動的にinclude_once

    概要:Apache 2 + PHP5 において、すべてのスクリプトに自動的に、include_onceのような効果を得る方法について教えてください。 詳細: 昔開発していたPHPスクリプトにおいて スクリプト中に include_once や require_once を書かずに スクリプトが呼び出される度に、スクリプトの冒頭で include_once したかのように、パスの設定などを行う初期化スクリプトを include して実行させる方法を取っていたはずなのですが、そのやり方を忘れてしまいました。 初期化スクリプト中では define などをして、スクリプトが依存するライブラリやデータのパスの設定を変数に対して行っており、処理コストの低い簡単な処理も入ります。 すべてのスクリプトにおいて、その変数が示すパスを使ってデータの読み書きを行っています。 その手法は、Apache2 が多目的に使われる場合には、オーバーヘッドあるいは弊害があるだろうというようなものだったと思います。(当時そう思った事をなんとなく覚えている次第です) Apache2がリクエストを受け取る度に、実行されるため、そのスクリプトと関係のない php スクリプトが呼ばれた際にも自動的に取りこまれてパスなどが変数に設定されます。 その Apache 2 は、限定的な用途で利用され、サーバーマシンごと特定用途で利用することを前提としていたため、そういった手法をとったのだと思いますが、詳細は不明です。 おそらく、apache2.conf (あるいは httpd.conf) か php.ini に設定していたと思うんですが、当時の設定ファイルを読み解いても、それらしい記述が見当たらず、ここ数日悩んでおります。 一応、実行環境について書きますと 当時の実行環境は、Windows 2000 + Apache 2 + PHP 3~5(?) + PEAR + MySQL 3(?) で、現在は ubuntu + Apache 2 + PHP5 + PEAR + MySQL 5 で動かそうとしております。 このような内容なのですが、お心当たりのある方は、ご教示お願い致します。

    • ベストアンサー
    • PHP
  • PHPをバッチスクリプトのように実行する方法

    PHPをちょっと勉強してみようと思っています。 言語仕様をさらっと勉強したいだけなので Webサーバーを立ち上げるまではしたくないと思っています。 で、PHPをバッチスクリプトのように実行したいと思っています。 PerlやWSH(JScript, VBS)、シェル、Winコマンドバッチ等のように。 しかし、少し調べた限りではPHPをバッチのように起動する方法は分かりませんでした。 PHPをバッチスクリプトのように実行する方法はありますでしょうか? 存在しないのでしょうか?もしあるのならその方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 構文エラー

    こんにちは。 インターネットを立ち上げるとエラー画面が出ます。  >このページのスクリプトでエラーが発生しました。     ライン:37       文字:8317     エラー:構文エラーです     ワード:0   このページのスクリプトを実行しますか?     [はい][いいえ]         というものです。このエラーが何度も繰り返し出ます。 時々、うまく立ち上がることもあるのですが・・・   出てこないようにする方法はありますか?      

  • phpでのmysql接続におけるエラー

    どうも、プログラミング初心者です。 今回、phpからのmysql接続においてエラーが発生したのですが、 回避方法がいまいちわからないので教えていただきたいです。 自分がやろうとしているのは1つのファイル内で2つの別々の関数を呼び出して実行させるだけなのですが、 それぞれの関数内でデータベースに接続してDBのデータを操作しようとしたところ、1つの関数は動作するのですが、後から呼び出す関数がサーバーと接続できず、エラーとなってしまいます。 たぶん、同一のDBに2回アクセスしようとしているところが問題の原因だとは思うのですが、回避方法がわかりません。 どなたか教えていただけますか? ちなみに関数は2つとも別のファイルに書いてあり、それをrequire_onceで読み込んでいる形です。 簡単に書くと main.php  require_once('call_db_func01.php'); ← それぞれの関数の中で  require_once('call_db_func02.php'); ← 同じDBにアクセスしている  ***  CallDBFunc01(); ← 一つ目の関数は正常に動作  ***  CallDBFunc02(); ← サーバーに接続できないと言われる ちなみに個々でテストするとどちらも正常に動作することは確認済みです。 どうぞ、よろしくお願いします。

    • 締切済み
    • PHP
  • PHPスクリプトでperlスクリプト

    はじめまして。PHP初心者です。助け舟をお願いします。 PHPスクリプトで、formの表示からデータの受け取り→ファイルに書込み→終了画面の表示ができるスクリプトを書くことが出来ました。 これをphpスクリプト1とします。 POSTで受け取った変数を元に処理した変数を返すperlスクリプトがあります。 これをperlスクリプト1とします。 perlスクリプト1をphpスクリプトにすることは私には困難なため、phpスクリプト1のファイルに書き込む前に、perlスクリプト1を実行→返った変数をphpスクリプトで使用しファイルに書込み→終了画面の表示を行いたいです。 こんなことってできますか?

    • 締切済み
    • PHP
  • phpExcelReaderの使い方について

    phpExcelReaderをダウンロード、解凍し、解凍されたデータ内の「Excel」フォルダを、 [C:\php\PEAR\Spreadsheet\] (ExcelWriterを使用しているので、Spreadsheetフォルダが存在します) に入れました。そして、30行目辺りに、 [require_once 'Spreadsheet/Excel/oleread.inc';] と追加しました。 上記の手順で使えるようになると思っていたのですが、どうも使えないようです。 PHPの構文内では、まず初めにreader.phpをrequire onceで呼び出しているのですが、 failed to open stream、Failed opening requiredのエラーが出てしまいます。 何か間違った点等ありましたら、ご指摘をいただければと思います。 最後に、reader.php読み出しまでの構文とエラー内容を書いておきます。 読み出し部-------------- <?php require_once("Spreadsheet/Excel/reader.php"); $xls = new Spreadsheet_Excel_Reader(); $xls->setOutputEncoding('UTF-8'); //以下Excel処理... ------------------------- エラー内容--------------- Warning: require_once(Spreadsheet/Excel/reader.php) [function.require-once]: failed to open stream: No such file or directory in C:\【phpパス】.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'Spreadsheet/Excel/reader.php' (include_path='.;C:\php\pear;c:\php\includes') in C:\【phpパス】.php on line 2 -------------------------

    • ベストアンサー
    • PHP

専門家に質問してみよう