独自の WAMP 環境を構成し、Oracle 関数ライブラリ oci を拡張します。
昨日、同僚が PHP を使用して Oracle データベースの内容を処理するというタスクを受け取りました。ただし、PHP で Oracle 拡張機能を開くには、MySQL のように何かをダウンロードする必要があります。
最初のステップは、ダウンロードすることです。 Oracle 公式 Web サイトからクライアント パッケージをインストールし、win でシステム バージョン に対応する zip を見つけます (ここにあるのは システム バージョン です)
2015 年 6 月 25 日の時点で、ダウンロード アドレスは次のとおりです http ://www.oracle.com/technetwork/database/features /instant-client/index-097480.html
たとえば、Microsoft Windows (x64) 用のインスタント クライアントを選択します。PHP は OCI を拡張するため、最も完全なものを選択する必要があります。対応するバージョンには OCI がありません。アカウントをお持ちの場合は、リンクを使用して直接ダウンロードする必要がある場合があります。 2 番目の部分では、Win システムに拡張パック (.dll ファイル) をダウンロードする必要があります。ダウンロード アドレス http:// pecl.php.net/package/oci8 は、その方法を示しています。見つけるには
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html このアドレスをクリックしてください
公式インスタント クライアント サイトを最後までスクロールして、[PHP -] をクリックします。関連開発者センターの「OCI8 拡張機能」
その後、タブがダウンロードされます。OCI8 をクリックして http://pecl.php.net/package/oci8 にアクセスします
その後、ダウンロード方法が機能しません
これで 2 つのダウンロードが完了しました。 zip パッケージを作成し、PHP を設定します
3 番目に、ダウンロードした最初のファイルを解凍し、コンピューター上の任意のディレクトリに移動します。解凍後、ファイル ディレクトリ instantclient_12 _1 が得られます。最後に「_12_1」を付けることをお勧めします。これにより、将来バージョンを変更するときに環境変数を変更する必要がなくなります。このディレクトリを入力してダブルクリックして adrci.exe を開くと、このクライアントが使用可能であることがわかります。ディレクトリをローカルにコピーします。私のディレクトリは F :devinstantclientです。 システムのパス環境変数を設定します。
4 番目に、ダウンロードした DLL 圧縮パッケージを解凍し、php_oci8.dll php_oci8_11g.dll php_oci8_12c.dll をコピーします。 PHP 拡張パッケージ ファイル (通常は /php/ext/ ディレクトリ内にあります)
実際には、置き換える必要はありませんが、置き換えることをお勧めします
次に、php.ini を開き、最後の拡張子は後から追加されたもので、php には元々この拡張子はありませんでしたが、php
を実行するときに、上記のパッケージにすべての dll ファイルを記述するのは間違いではありません。extension=php_pdo_oci.dll
extension =php_oci8_11g.dll ; Oracle 11gR2 インスタント クライアントで使用する
extension=php_oci8_12c.dll ; その後、再起動しますhttpd サービスを開き、phpinfo() を開くと、PDO サポート
が有効になっている
PDO ドライバー
有効 |
OCI8 バージョン | 2.0.8 |
リビジョン | $Id: f04114d4d67cfea4cdc2ed3b7f0 229c2caa5016 $ |
Oracle ランタイム クライアント ライブラリのバージョン | 12.1.0.2 .0 |
Oracle コンパイル時インスタント クライアント バージョン | 10.2 |
これは拡張機能について説明しています オープンは成功しました | |
ここに接続する例があります原文 http://www.orczhou.com/index.php/2010/09/php-oci8-oracle/ | <span> 1</span> <?<span>php </span><span> 2</span><span>//</span><span>配置信息</span><span> 3</span><span>$ora_host</span> = "172.16.1.150"<span>; </span><span> 4</span><span>$ora_port</span>="1521"<span>; </span><span> 5</span><span>$ora_sid</span> = "cop"<span>; </span><span> 6</span><span>$ora_username</span> = "webdev"<span>; </span><span> 7</span><span>$ora_password</span> = "webdev"<span>; </span><span> 8</span><span>$charset</span> = "UTF8"; <span>#</span><span>## zhs16gbk ### </span><span> 9</span><span>10</span><span>//构建Easy Connect string </span><span>11</span><span>//(如果tnsnames.ora中已经有了,可以直接使用Connect Name)</span><span>12</span><span>$ora_connstr</span> = "<span>(description=(address=(protocol=tcp) </span><span>13</span> (host=".<span>$ora_host</span>.")(port=".<span>$ora_port</span>."<span>)) </span><span>14</span> (c>$ora_sid</span>.")))"<span>; </span><span>15</span><span>//</span><span>连接数据库</span><span>16</span><span>$conn</span> = oci_connect(<span>$ora_username</span>, <span>$ora_password</span>,<span>$ora_connstr</span><span>); </span><span>17</span><span>//</span><span>执行Query,这里$res接收的是一个boolean值</span><span>18</span><span>$stid</span> = oci_parse(<span>$conn</span>, 'select * FROM dq_try_app'<span>); </span><span>19</span><span>$res</span> = oci_execute(<span>$stid</span><span>); </span><span>20</span><span>21</span><span>//</span><span>在while循环中使用oci_fetch_array遍历结果。</span><span>22</span><span>while</span> (<span>$row</span> = oci_fetch_array(<span>$stid</span>, OCI_ASSOC+<span>OCI_RETURN_NULLS)) { </span><span>23</span><span>24</span><span>foreach</span> (<span>$row</span><span>as</span><span>$item</span><span>) { </span><span>25</span><span>echo</span><span>$item</span>."***"<span>; </span><span>26</span><span> } </span><span>27</span><span>echo</span> "<br>"<span>; </span><span>28</span><span>29</span><span>} </span><span>30</span><span>//</span><span>var_dump($stid); </span><span>31</span> ?> ログイン後にコピー |

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

SQLステートメントは、Oracleの動的SQLを使用して、ランタイム入力に基づいて作成および実行できます。手順には、次のものが含まれます。動的に生成されたSQLステートメントを保存するための空の文字列変数を準備します。 executeを即座に使用するか、ステートメントを準備して、動的なSQLステートメントをコンパイルおよび実行します。バインド変数を使用して、ユーザー入力またはその他の動的値を動的SQLに渡します。実行するか、実行するか、動的SQLステートメントを実行します。

Oracleでは、forループループは動的にカーソルを作成できます。手順は次のとおりです。1。カーソルタイプを定義します。 2。ループを作成します。 3.カーソルを動的に作成します。 4。カーソルを実行します。 5。カーソルを閉じます。例:カーソルをサイクルごとに作成して、上位10人の従業員の名前と給与を表示できます。

AWRレポートは、データベースのパフォーマンスとアクティビティスナップショットを表示するレポートです。解釈の手順には、アクティビティスナップショットの日付と時刻の識別が含まれます。アクティビティとリソース消費の概要をご覧ください。セッションのアクティビティを分析して、セッションの種類、リソース消費、待機イベントを見つけます。遅いSQLステートメント、リソース競合、I/Oの問題などの潜在的なパフォーマンスボトルネックを見つけます。待機イベントを表示し、パフォーマンスのためにそれらを特定して解決します。ラッチとメモリの使用パターンを分析して、パフォーマンスの問題を引き起こしているメモリの問題を特定します。
