phpのextension_dirを複数指定したい

このQ&Aのポイント
  • php.iniのextension_dirで複数のディレクトリを指定する方法を教えてください。
  • extensionの開発をしているが、extensionを毎回コピーするのは手間がかかる。
  • 複数のextension_dirを指定した場合にエラーが出る問題が発生している。
回答を見る
  • ベストアンサー

phpのextension_dirを複数指定したい

php 4.3.9を使用しております。 redhatのup2dateでインストールしたphpを使用しているのですが、 php.iniでextension_dirが extension_dir = /usr/lib/php4 となっておりますが、これを extension_dir = /usr/lib/php4:/another/dir と複数指定したく思っています。 現在extensionの開発をしていて、 毎回自作のextensionをコピーするのがかったるいので なんとかしたいなぁ、というのが目的です。 しかし、上記のように指定すると、 PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4:/another/dir/gd.so' - /usr/lib/php4:/another/dir/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0 (後略) と、すべてのextensionについてエラーが出てしまいます。 何かいい方法はないでしょうか?よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • x415f484f
  • ベストアンサー率71% (57/80)
回答No.1

PHP のソースの ext/standard/dl.c をご覧になれば > extension_dir = /usr/lib/php4:/another/dir というのが無理だということがおわかりになると思います。 > 何かいい方法はないでしょうか? 単に ln などでリンクを作れば済む話ではないでしょうか?

関連するQ&A

  • phpのextension_dirのデフォルトは??

    prefix=/usr/local を指定してインストールした場合、 extension_dirのデフォルトはどこになるのでしょうか? 現状はデフォルトのまま下記のようになっています。 extension_dir = "./" php.iniのパスは、/usr/local/etc/php.iniになっています。 libdirはlib64を指定してインストールしました。 extension_dirを変更する事は出来ず、このデフォルトのパスを探り当てなければならず、大変困っています。 php.iniと同階層に位置するのか、それともlibdirと同階層になるのか。 それとも他の場所があるのか。 誰か解るかたがいらっしゃいましたら教えて頂けると助かります!

  • PHP:エクステンションのアパッチエラーについて

    PHPのエクステンションを作成しています。 .soまで作成したので、これをextension_dir下に置き、 php.iniファイルにextension = xxxxxx.soを追加し、アパッチを再起動しました。 下記のようなエラーが出力されます。 PHP Warning: Unknown(): Invalid library (maybe not a PHP library) 'xxxxxx.so' in Unkn own on line 0 元のソースをCで書いたものについては何も問題なくうまくいっているのですが、C++で書いたこれだけうまくよみとってくれません。 何かご存知の方がいらっしゃいましたら教えて下さい。

  • php.iniの拡張モジュールGDをONにしたい

    php.iniファイルの記載方法がわかりません。お名前.comにてGDを使用したいのですが、サポートにメールしたら gd、mysqli、xmlrpcは、拡張モジュールとして設置しております ため、お客様にて独自にphp.iniを設置し、ご利用いただく場合に おきましては、設置いただいている「php.ini」ファイルに下記 記載の記述を追加することにより、ご利用可能になります。 extension_dir = "/usr/local/lib/php/extensions" extension = gd.so extension = mysqli.so extension = xmlrpc.so と帰ってきました。php.iniファイルの書き込み方などわからないのでどなたか教えてください!

    • 締切済み
    • PHP
  • undefined symbol: ap_php_snprintf

    php apcをインストールしましたが、次のエラーがLOGに出力されて APCが起動しません。 PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/apc.so' - /usr/lib/php4/apc.so: undefined symbol: ap_php_snprintf in Unknown on line 0 環境は OS: redhatES4 apache Apache/2.0.52 (Red Hat) php PHP Version 4.3.9 apc APC-3.0.14 解決策をご教示いただきたく、お願いします

    • 締切済み
    • PHP
  • php拡張モジュールのインストール

    いつもお世話になっております。 phpでcurlを使いたく、 以下のサイトを参考にして、実行したいと考えています。 http://ext.omo3.com/php/php.ini_curl.so.html その際、 >■php.iniでcurl.coを指定する >上記のディレクトリとcurl.soを指定する。 のところで、 extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/" extension=curl.so としていますが、 こちらの設定をする前に、既に、 $ php -i | grep extension にて、 extension_dir => /usr/lib/php/modules => /usr/lib/php/modules mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. となっていた場合、 どのようにしたらいいのでしょうか。 上記に同じ行を追加して、追記する形でしょうか。 それとも、現在の設定内容を編集するのでしょうか。 それとも、他になにかありますでしょうか。 お手数をおかけしますが、何卒よろしくお願い申し上げます。

  • ffmpegをphpから使おうとしていますが・・

    ffmpegをphpから使いたいと思って サーバーにffmpegとffmpeg-phpをインストールしたのですが、 テストページで以下のようなエラーがでてしまいます。 Warning: dl() [function.dl]: Unable to load dynamic library '/usr/lib/php/modules/ffmpeg.so' - /usr/lib/php/modules/ffmpeg.so: undefined symbol: img_resample in /var/www/html/ffmpeg/test_ffmpeg.php on line 17 /usr/lib/php/modules/ffmpeg.soは有りました。 ffmpegコマンドも最初は動きませんでしたが、いろいろ無いと言われた*.soファイルへのシンボリックリンクを/usr/lib内に作ることで動くにようにはなりました。 他にphp.iniにextension=ffmpeg.soと入れてみたりいろいろいじっていましたがどうにも私の知識では解決できそうにありません。 何卒お知恵をお借りできたらと思い投稿させていただきました。 環境は、 fedora8 php5 ffmpegのインストールは http://codezine.jp/article/detail/2444?p=1 ffmpeg-phpのインストールは http://www.phppro.jp/phptips/archives/vol50/2 を参考にさせていただきました。 宜しくお願いしますm(_ _)m

    • 締切済み
    • PHP
  • apacheが起動するとき、phpのモジュールが正常に読み込まれたかど

    apacheが起動するとき、phpのモジュールが正常に読み込まれたかどうか調べたい。 /etc/apache2/conf.d/php.confに LoadModule php4_module modules/libphp4.so と書いておりますのでapacheはphp4モジュールをロードします。 #/usr/sbin/apache2 -k start -e debug とすると、 [Wed Oct 01 09:21:10 2010] [debug] mod_so.c(246): loaded module php4_module というようにphp4のモジュールがロードされていることが分かります。 そのPHPモジュールはさらにその先のモジュール(xdebug.soやmysql.soなど)を読み込めていないときのエラーを確認したいのです。例えば/etc/php.d/mysql.iniを編集して extension=mysqlaaaaaaaaaaaaaaaa.so などと有りもしないファイル名を書いたとします。この場合にファイルが見つからないというエラーをどこかに出力させたいのですがどのようにしたらよろしいでしょうか。 上記おかしなパスの状態でphpinfo();を実行しても単にmysqlのセクションが表示されなくなっただけの状態で、エラーはかかれていません。#php -v ではエラーが表示されますが、これとapache起動時のエラーは同一ものではないですよね?! # php -v PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/mysqlaaaaaaaaaaaaaaaa.so' - /usr/lib/php4/mysqlaaaaaaaaaaaaaaaa.so: cannot open shared object file: No such file or directory in Unknown on line 0 バージョン apache 2.2.3 php 4.4.8 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのインストール

    PHPの configure オプションで、--with-gd --with-jpeg-dir=/usr/lib などを指定すると、 cpnfigure:error :libjpeg.(a|so) not found. とエラーが出てしまいます。GDに必要なライブラリのようですが、どうやらPHPは、GDライブラリー、『FreeTypeライブラリー』、『libjpeg』と一緒にコンパイルしてあげないとだめみたいなことを聞きました。 つまるところ、どうするとよさげでしょうか? libjpegは ftp://ftp.uu.net/graphics/jpeg/ ここあたりかなと思うのですが、インストールすれと言われても、.OBJ ってどこにいれてあげるとよいのでしょうか?よろしくお願いします。

  • phpのConfigure Commandについて

    ocnのサーバーにphpをvinstallでインストールしたのですが ocn標準で用意されているのは、データベースへアクセスする言語としてのみ利用できる内容になっているようです。 その後のカスタマイズは可能なので、機能を増やしたいのです。 参考になるか分かりませんが、 phpinfo()で表示させると、configure commandの内容が ./configure' '--with-apxs=/usr/local/apache/bin/apxs' '--with-config-file-path=/usr/local/lib' '--disable-debug' '--enable-memory-limit' '--enable-zend-multibyte' '--with-regex=system' '--enable-mbstring=all' '--enable-mbregex' '--enable-dio' '--enable-calendar' '--enable-versioning' '--with-bz2=shared,/usr' '--enable-sockets=shared' '--with-pcre-regex=/usr/local' '--with-iconv=shared,/usr/local' '--with-gdbm=shared' '--with-db3=shared,/usr/local' '--with-gettext=/usr/local' '--with-curl=shared,/usr/local' '--with-openssl=shared,/usr' '--with-pgsql=shared,/usr/local' '--with-openssl=/usr' '--with-gd=shared' '--enable-gd-native-ttf=shared' '--with-freetype-dir=shared,/usr/local' '--with-ttf=shared,/usr/local' '--with-xpm-dir=/usr/X11R6' '--with-jpeg-dir=shared,/usr/local' '--with-png-dir=shared,/usr/local' '--with-t1lib=shared,/usr/local' '--with-zlib=/usr' こんな感じになっています。 この内容で分かりますか? どなたかご教授宜しくお願いいたします。

  • PHP myADMINインストール時のエラー

    PHP myADMINをインストールしようとしていますが、 「mysql 拡張がありません。PHP の設定をチェックしてみてください。」 とエラーが出て先へ進めません。 設定は下記で設定しました。 yum -y install php-common yum -y install php-mbstring yum -y install php-mcrypt yum -y install php-mysql config.inc.php $cfg['blowfish_secret'] = '適当な文字'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */とし、これをアップした後、660にパーミッション変更 php.iniの設定は extension_dir = /usr/lib/php/modules extension=mysql.so extension=mbstring.so これでよさそうなのですが、相変わらず「mysql 拡張がありません。」が出てきます。 phpinfoを見ると、mbstringやmcryptは見えるのですが、mysqlは見えません。 mysqlのデーモンはちゃんと稼働しています。 > find / -name mysql.so とすると /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql/mysql.soとなります。 extension_dir = /usr/lib/php/modulesのphp.iniの記載に対し、mysql.soが全然違うところに来ておりこれが読めない原因と推測しています。 対策としてのこのmysql.soをコピーして/usr/lib/php/modulesにコピー、再立ち上げしてみましたが駄目でした。 どのようにすれば動くようにご教授願います。 環境は CentOS 5.7 Apache 2.2.3 MySQL 5.0.77 PHP 5.3.8 phpMyAdmin 3.4.7 となります。宜しくお願い致します。

    • ベストアンサー
    • MySQL

専門家に質問してみよう