ホームページ バックエンド開発 PHPチュートリアル コンパイルの問題_PHP チュートリアル

コンパイルの問題_PHP チュートリアル

Jul 21, 2016 pm 04:10 PM
匿名 状態 新しい ソースコード コンパイル 間違い 質問


この章では、コンパイル中に発生する可能性のある多くのエラー状態をまとめます。 1. 匿名 CVS を使用してソース コード パッケージの最新バージョンを取得しましたが、構成スクリプト ファイルがありませんでした。 2. Apache で動作するように PHP を構成するときに問題が発生しました。 httpd.h が見つからないと表示されましたが、実際には存在していました。 3. conifgure を実行すると、インクルード ファイルまたはライブラリ (GD、gdbm、またはその他のパッケージ) が見つからないと表示されました。 language-parser.tab.c をコンパイルしようとすると、エラーが発生し、「yytname undeclared」というプロンプトが表示されました。make を実行すると、最初はうまくいきましたが、最終的には失敗しました。一部のファイルが見つからないというエラーが発生しました。 6. PHP に接続すると、未定義の参照を示すエラーが大量に発生しました。 7. Apache 1.3 で PHP をコンパイルする方法がわかりません。 8. 手順に従って Apache モジュール (Unix 上) をインストールしましたが、ブラウザで PHP スクリプトを開いたときに、保存するかどうかを尋ねられました。 9. システムは --activate-module=src/modules/php4/libphp4.a を使用するように指示しましたが、ファイルがまったく存在しなかったため、 --activate-module=src/modules/ に変更する必要がありました。 php4/libmodphp4.a は機能しません。どうすればよいですか? 10. PHP を Apache の静的モジュールにコンパイルしたいのですが、 --activate-module=src/modules/php4/libphp4.a を使用します。システムは、私のコンパイラは ANSI 互換ではないと言います。 11. --with-apxs を使用して PHP をコンパイルすると、常に奇妙なエラーが発生します。 12. 作成中に、microtime に関するエラーや RUSAGE_ に関するエラーが大量に発生します。 13. PHP をアップグレードしたいのですが、実行している PHP の設定とインストールに使用した ./configure 行はどこにありますか。 14. GD ライブラリを使用して PHP をコンパイルすると、実行中に奇妙なエラーが発生するか、セグメンテーション違反が発生します。
1. ソース コード パッケージの最新バージョンを取得するために使用しましたが、構成スクリプト ファイルがありません。 !
CVS サーバーの最上位ディレクトリで ./buildconf を実行するだけで、configure スクリプト ファイルを生成できるように、GNU autoconf パッケージをインストールする必要があります。 (注: --enable-maintainer-mode オプションを指定してconfigureを実行しない限り、configure.inファイルが更新されてもconfigureスクリプトは再生成されないため、configure.inが変​​更されたことがわかった時点で、 config または config.status を実行すると、Makefile に @VARIABLE@ のようなラベルが表示されます。)
2. Apache で動作するように PHP を設定するときに問題が発生しました。 httpd.h が見つからないと表示されますが、確かに存在します。
configure/setup スクリプトに Apache の最上位ディレクトリの場所を伝える必要があります。 つまり、 --with-apache=/path/to/apache/src ではなく、 --with-apache=/path/to/apache を指定する必要があります。 conifgure を実行すると、インクルード ファイルが見つからないと表示されます。またはいくつかのライブラリ: GD、gdbm、またはその他のパッケージ
configure スクリプト、これらのヘッダー ファイルまたは非標準ライブラリの場所を確認し、いくつかの特別なフラグを C プリプロセッサに送信できます。例えば: CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure シェルが csh-variant を使用する場合、次のようになります (なぜですか?)。 env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
4. ファイル language-parser.tab.c をコンパイルすると、エラーが発生し、「yytname undeclared」というプロンプトが表示されました。 Bison バージョンを更新する必要があります。最新バージョンは ftp://ftp.gnu.org/pub/gnu/bison/ で見つけることができます。
5. make を実行すると、最初は正常に動作しますが、最終的には接続時に失敗します。最後のアプリケーションで、一部のファイルが見つからないというエラーが発生しました。
一部の古いバージョンの make では、functions ディレクトリにあるコンパイル済みファイルを同じディレクトリに置くことができません。cp *.o 関数を実行してから、make を実行して改善されるかどうかを確認してください。 その場合は、GNU Make のバージョンを更新する必要があります。
6. PHP に接続すると、未定義の参照というエラーが大量に表示されます。
ファイル内のリンク行を見て、関連するパッケージがすべて正しく含まれていることを確認します。通常、これは「-ldl」が欠落しており、サポートする必要があるデータベース パッケージがいくつかあることが原因です。
Apache 1.2.x に接続している場合は、EXTRA_LIBS 行に追加情報を追加し、Apache の Configure スクリプトを再実行することを忘れましたか? 配布パッケージの INSTALL ファイルを参照してください。
「-ldl」を追加するとすぐに libphp4.a が得られたと多くの人が言いました。
7. Apache 1.3 で PHP をコンパイルする方法がわかりません。
実際には非常に簡単で、次の手順に従ってください:

次の場所で Apache 1.3 ソース コードを入手します: http://www.apache.org/dist/。
/usr/local/src/apache-1.3 などの特定のディレクトリに解凍します。
PHP 配布パッケージ ディレクトリ ./configure --with-apache=//apache-1.3 で PHP をコンパイルします ( は、ユーザーの実際の apache-1.3 ディレクトリの場所に置き換えられます)。
「make」と入力し、「make install」と入力して PHP をコンパイルし、必要なファイルを Apache ディレクトリにコピーします。
//apache-1.3/src ディレクトリに移動し、構成ファイルに次の行を追加します: AddModule modules/php4/libphp4.a。
「./Configure」と入力し、「make」と入力します。
これで httpd ファイルが完成しました!

注: 新しい Apache ./configure スクリプトを使用することもできます。配布パッケージの README.configure を参照してください。もちろん、PHP 配布パッケージの INSTALL ファイルも参照してください。
8. Apache モジュールを (Unix 上で) 段階的にインストールしましたが、ブラウザで PHP スクリプトを開いたときに、保存するかどうかを尋ねられました。
これは、PHP モジュールがロードされていないことを意味します。次の 3 つの点から確認できます。

実行している Httpd が、PHP をコンパイルしたばかりの Httpd であることを確認します。 /path/to/binary/httpd -l を実行できます。
mod_php4.c がリストに表示されない場合。 , 間違った Httpd を実行している場合は、再インストールした方がよいでしょう。
Apache .conf ファイルに正しい Mime タイプを追加していることを確認してください: AddType application/x-httpd-php3 .php3 (PHP 3)
または AddType application/x-httpd-php .php (PHP) 4)
また、AddType 行が または ブロックに含まれていないことを確認してください。
最後に、デフォルトの設定ファイルの場所は Apache 1.2 と Apache 1.3 で異なります。AddType 行を追加した設定ファイルの場所を確認してください。このファイルが読み取られると、システムは通知します。

9. システムは --activate-module=src/modules/php4/libphp4.a を使用するように指示しましたが、ファイルがまったく存在しなかったため、 --activate-module=src/ に変更する必要がありました。 modules/php4/libmodphp4.a うまくいきません。どうすればよいでしょうか? libphp4.a は実際には存在しないことに注意してください。
PHP を静的モジュールにコンパイルしたいのです。 Apache の場合は、 --activate-module =src/modules/php4/libphp4.a を使用します。 しかし、システムは、私のコンパイラは ANSI 互換ではないと言います。
このエラー メッセージは Apache による誤解を招くものであり、新しいバージョンで修正できる可能性があります。
11. --with-apxs を使用して PHP をコンパイルすると、常に奇妙なエラーが発生します。
これが発生した場合は、次の 3 つの点から確認できます。まず、apxs Perl スクリプトをコンパイルするときに、Apache が適切なフラグ変数を作成しませんでした。apxs コマンドを試してください。通常は /usr で開きます。 /local/apache/bin/apxs または /usr/sbin/apxs のような行を見つけます。 my $CFG_CFLAGS_SHLIB = ' '; # Makefile.tmplmy $CFG_LD_SHLIB = ' '; に値が含まれているため、次のように変更します。 my $CFG_CFLAGS_SHLIB = '-fpic -DSHARED_MODULE'; # Makefile.tmplmy $CFG_LD_SHLIB = 'gcc'; # 2 番目の可能性は、Red Hat 6.1 および 6.2 の apxs スクリプトに表示されます。この行を見てください。 my $CFG_LIBEXECDIR = 'modules'; # APACI install で置き換えられている場合は、次の行に変更します。 my $CFG_LIBEXECDIR = '/usr/lib/apache'; # APACI install で置換 第三に、Apache を再構成/再インストールする場合は、 ./configure の後、make
12 の前に make clean を実行する必要があります。 microtime に関するエラー、および多くの RUSAGE_ に関するエラー
インストール中の make 中に次のエラーが表示される場合: microtime.c: 関数 `php_if_getrusage' 内:microtime.c:94: `usg' のストレージ サイズが不明microtime.c:97: `RUSAGE_SELF' が宣言されていません (この関数で最初に使用)microtime.c:97: (それぞれ未宣言の識別子は 1 回だけ報告されますmicrotime.c:97: 出現する関数ごとに。)microtime.c:103: `RUSAGE_CHILDREN' 未宣言 (この関数で最初に使用)make[3]: *** [microtime.lo] エラー1make[3]: ディレクトリ `/home/master/php-4.0.1/ext/standard' を終了しますmake[2]: *** [all-recursive] エラー 1make[2]: ディレクトリ `/home/master/ を終了しますphp-4.0.1/ext/standard'make[1]: *** [すべて再帰] エラー 1make[1]: ディレクトリ `/home/master/php-4.0.1/ext'make: *** [all-recursive] エラー 1
これはシステム上のエラーです。具体的な方法は、glibc と一致する glibc-devel パッケージをインストールすることです。 PHP を証明するには、次のようにします。 $ cat >test.c << PHP をアップグレードしたいのですが、現在実行している PHP の設定とインストールに使用した ./configure 行の内容はどこで確認できますか? PHP をインストールしたソース ディレクトリにある config.nice ファイルを実行する必要がある場合は、別の方法があります。 スクリプト。出力ページの最初の行は ./configure 行で、これは GD ライブラリを使用して PHP をコンパイルするときに使用します。実行中に奇妙なエラーが発生したり、セグメンテーション違反が発生したりすることがあります。
GD ライブラリと PHP をコンパイルするときに、同じ依存ライブラリ (libpng など) を使用していることを確認する必要があります。


http://www.bkjia.com/PHPjc/314067.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/314067.html技術記事この章では、コンパイル中に発生する可能性のある多くのエラー状態をまとめます。 1. 匿名 CVS を使用してソース コード パッケージの最新バージョンを取得しましたが、構成スクリプト ファイルがありませんでした。 2. Apache で動作するように PHP を構成したとき...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

操作を完了できません (エラー 0x0000771) プリンター エラー 操作を完了できません (エラー 0x0000771) プリンター エラー Mar 16, 2024 pm 03:50 PM

プリンターの使用中に、操作を完了できませんでした (エラー 0x00000771) などのエラー メッセージが表示された場合は、プリンターが切断されている可能性があります。この場合、以下の方法で問題を解決できます。この記事では、Windows 11/10 PC でこの問題を解決する方法について説明します。エラー メッセージ全体には、「操作を完了できませんでした (エラー 0x0000771)」が示されています。指定されたプリンターは削除されました。 Windows PC で 0x00000771 プリンター エラーを修正する プリンター エラーを修正するには、操作を完了できませんでした (エラー 0x0000771)。指定されたプリンターは Windows 11/10 PC で削除されています。次の解決策に従ってください: 印刷スプールを再起動します

Windows Update プロンプト エラー 0x8024401c エラーの解決策 Windows Update プロンプト エラー 0x8024401c エラーの解決策 Jun 08, 2024 pm 12:18 PM

目次 解決策 1 解決策 21. Windows Update の一時ファイルを削除します。 2. 破損したシステム ファイルを修復します。 3. レジストリ エントリを表示および変更します。 4. ネットワーク カード IPv6 をオフにします。 5. WindowsUpdateTroubleshooter ツールを実行して修復します。 6. ファイアウォールをオフにします。およびその他の関連するウイルス対策ソフトウェア。 7. WidowsUpdate サービスを閉じます。解決策 3 解決策 4 Huawei コンピュータの Windows アップデート中に「0x8024401c」エラーが発生する 症状 問題 原因 解決策 まだ解決されませんか?最近、システムの脆弱性のため、Web サーバーを更新する必要があります。サーバーにログインすると、エラー コード 0x8024401c が表示されます。

Linux での CURL バージョンの更新に関するチュートリアル! Linux での CURL バージョンの更新に関するチュートリアル! Mar 07, 2024 am 08:30 AM

Linux でカールのバージョンを更新するには、以下の手順に従います。 現在のカールのバージョンを確認します。 まず、現在のシステムにインストールされているカールのバージョンを確認する必要があります。ターミナルを開き、次のコマンドを実行します。curl --version このコマンドは、現在のcurlバージョン情報を表示します。利用可能なcurlのバージョンを確認する:curlを更新する前に、利用可能な最新バージョンを確認する必要があります。 Curl の公式 Web サイト (curl.haxx.se) または関連ソフトウェア ソースにアクセスして、curl の最新バージョンを見つけることができます。 Curl ソース コードをダウンロードする:curl またはブラウザを使用して、選択した CURL バージョンのソース コード ファイル (通常は .tar.gz または .tar.bz2) をダウンロードします。

Linux のおっと: このエラーの意味の詳細な説明 Linux のおっと: このエラーの意味の詳細な説明 Mar 21, 2024 am 09:06 AM

LinuxOops: このエラーの意味の詳細な説明、特定のコード例が必要 LinuxOops とは何ですか? Linux システムでは、「おっと」とは、カーネル内の重大なエラーによりシステムがクラッシュする状況を指します。 Oops は実際には、致命的なエラーが発生したときにシステムを停止し、開発者が問題を診断して修正できるように関連するエラー情報を出力するカーネル クラッシュ メカニズムです。通常、エラーはカーネル空間で発生し、ユーザー空間のアプリケーションとは何の関係もありません。カーネルが遭遇したとき

Oracle エラー 3114 の解釈: 原因と解決策 Oracle エラー 3114 の解釈: 原因と解決策 Mar 08, 2024 pm 03:42 PM

タイトル: Oracle エラー 3114 の分析: 原因と解決策 Oracle データベースを使用すると、さまざまなエラー コードが頻繁に発生しますが、その中で比較的一般的なのはエラー 3114 です。このエラーには通常、データベース リンクの問題が関係しており、データベースへのアクセス時に例外が発生する可能性があります。この記事では、Oracle エラー 3114 を解釈し、その原因について説明し、エラーを解決するための具体的な方法と関連するコード例を示します。 1. エラー 3114 の定義 Oracle エラー 3114 パス

Xiangxiangfuzhai アプリでエラーが表示されるのはなぜですか? Xiangxiangfuzhai アプリでエラーが表示されるのはなぜですか? Mar 19, 2024 am 08:04 AM

表示エラーは、Xiangxiang Fuzhai アプリで発生する可能性のある問題です。一部のユーザーは、Xiangxiang Fuzhai アプリでエラーが表示される理由がわからない場合があります。ネットワーク接続の問題、バックグラウンド プログラムの多さ、誤った登録情報などが原因である可能性があります。ユーザー向けにアプリ表示エラーの解決方法を編集部が紹介しますので、興味のある方はぜひご覧ください! Xiangxiang Fuzhai アプリでエラーの回答が表示されるのはなぜですか: ネットワーク接続の問題、バックグラウンド プログラムが多すぎる、間違った登録情報など。 詳細: 1. [ネットワークの問題] 解決策: デバイスの接続ネットワーク ステータスを確認し、再接続するか、別のネットワーク接続を選択してください。使用できます。 2. [バックグラウンド プログラムが多すぎる] 解決策: 実行中の他のプログラムを閉じてシステムを解放すると、ソフトウェアの実行速度が向上します。 3. 【登録情報に誤りがある場合】

ストリーミングサーバーがエラーをスローする[修正済み] ストリーミングサーバーがエラーをスローする[修正済み] Mar 25, 2024 am 09:40 AM

コンピュータ上でストリーミング サーバーがエラーをスローしていますか? Stremio は、映画、テレビ番組、ライブ TV などのストリーミングと視聴に使用できるクロスプラットフォームのビデオ ストリーミング サービスです。一部のユーザーは、アプリケーションを起動しようとするとこのエラーが発生すると報告しています。エラーは、インターネットやサーバーの問題など、さまざまな状況で発生する可能性があります。このエラーは、Web バージョンの Stremio を使用しているときにも発生する可能性があります。ウイルス対策ソフトウェアやファイアウォールによる干渉によってエラーが発生する場合もあります。いずれの場合でも、このガイドを使用して問題を解決できます。ストリーミング サーバーがエラーをスローする Windows で Stremio アプリケーションを実行中に、「Stremio ストリーミング サーバーがエラーをスローしました」が発生する場合があります。

Linux カーネルのソース コードのストレージ パスの分析 Linux カーネルのソース コードのストレージ パスの分析 Mar 14, 2024 am 11:45 AM

Linux カーネルは、ソース コードが専用のコード リポジトリに保存されているオープン ソース オペレーティング システム カーネルです。この記事では、Linux カーネル ソース コードのストレージ パスを詳細に分析し、読者の理解を助けるために具体的なコード例を使用します。 1. Linux カーネル ソース コードの保存パス Linux カーネル ソース コードは、[https://github.com/torvalds/linux](http) でホストされている linux という Git リポジトリに保存されます。

See all articles