• 締切済み

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

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

みんなの回答

noname#111181
noname#111181
回答No.1

下記のPHPスクリプトで絶対パスを確認してみてはいかがでしょう。 echo ini_get('extension_dir');

関連するQ&A

  • 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
  • PHP CLIでのphp.iniのパスを設定したい

    CLIモードで読み込まれるphp.iniのデフォルト値(/usr/local/lib)を「php -c path/file」を使わず、インストール時のconfigureオプションなどで指定することは可能なのでしょうか? 環境 CentOS 6.0 PHP5.3.9 (変な場所にインストールされているのは、他の開発環境もあるので隔離するためです。) configure時オプション --prefix=/home/user/local/php --with-config-file-path=/home/user/local/php/lib/ ↑これで自動的に/home/user/local/php/lib/php.iniが読み込まれると思ったのですが $ /home/user/local/php/bin/php -v PHP 5.3.9 (cli) (built: Jan 17 2012 17:22:45) $ /home/user/local/php/bin/php -i Configuration File (php.ini) Path => /home/user/local/php/lib/ Loaded Configuration File => /usr/local/lib/php.ini  なぜかデフォルト(/usr/local/lib/php.ini)が読み込まれてしまう $ /home/user/local/php/bin/php -c /home/user/local/php/lib/php.ini -i Configuration File (php.ini) Path => /home/user/local/php/lib/ Loaded Configuration File => /home/user/local/php/lib/php.ini  cオプションで指定するともちろん問題なし ちなみにブラウザで見るとConfiguration File (php.ini) PathとLoaded Configuration Fileが等しくなっています。 apacheのhttpd.confに PHPIniDir "/home/user/local/php/lib/" を記載しているからだと思いますが。 www.sample.com/index.php Configuration File (php.ini) Path/home/user/local/php/lib/ Loaded Configuration File/home/user/local/php/lib/php.ini

    • ベストアンサー
    • PHP
  • php.iniがない

    たびたびお世話になっております。 <環境> Red Hat Enterprise Linux ES v.4 PHP 4.4.2(cli) この度、Apache2とPHPとMySQLをソースからインストールしました。 どれもインストールが終わって、開発に進んだのですが php.iniのextension_dir の値を変更しようと思ったところ php.iniがありません。 # find / -name "php.ini" -ls で検索しましたが、表示されません。 でも、phpinfo()は表示されています。 ちょっと気になったのが、phpinfo()で表示される Configuration File (php.ini) Path が 「/usr/local/lib」となっていて、php.iniで終わっていないことです。 インストールの方法がまずかったのでしょうか? ご教授よろしくお願いいたします。

  • 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. となっていた場合、 どのようにしたらいいのでしょうか。 上記に同じ行を追加して、追記する形でしょうか。 それとも、現在の設定内容を編集するのでしょうか。 それとも、他になにかありますでしょうか。 お手数をおかけしますが、何卒よろしくお願い申し上げます。

  • PHPでメールを受信するには?

    現在PHPでメールを受信するプログラムを作ろうと思っています。素人ですので、いつもつまづきながらなんとか乗り越えてきています。どうしても解決できないときは、時々こちらのサイトを利用させていただき大変助かっております。 サーバーは、「お名前comのVPS」を使っています。使用できる関数には「IMAP」とありますので、PHPを使ってのメール受信は可能と思われます。PHPのバージョンは、「5.16」です。手元にある、PHPの教則本を頼りに、shhで php.iniのextension=php_imap.dll のコメントを外そうとしましたところ、 extension=php_imap.dll なるものがありませんでした。散々php.iniを見ましたがやはりありませんでした。それでは、localにあるxamppのphp.iniはどうなのかと調べてみますと、そこにはきちんと extension=php_imap.dll という一行がありました。再度「お名前com」のphp.iniを眺めていますと、なにやら If you wish to have an extension loaded automatically, use the following ; syntax: ; extension=modulename.extension ; For example: ; extension=msql.so このような文面を見つけ、さらに 拡張ファイルが php.dというフォルダにあるようなことが書いてあったので、php.dフォルダにアクセスしてみたところ、imap.iniとうファイルがありました。そこで、そのファイルを開いてみますと、 ; Enable imap extension module extension=imap.so このような記述がありました。 そこで、php.iniに extension=imap.so を書き足してみました。 これで、どうにかなるのかなと思い、次のphpファイルでテストをしました。 <?php ini_set('display_errors', 'on'); ini_set('error_reporting', E_ALL ^ E_NOTICE); $MAILSERVER="****"; $MAILUSER="*****"; $MAILPASSWORD="****"; if($mbox=imap_open("{".$MAILSERVER.":110/pop3}INBOX",$MAILUSER,$MAILPASSWORD)){ print "メールサーバーに接続しました。"; } else{ print "接続失敗"; } print "test"; ?> ***の部分は実際には、必要な情報をいれております。 しかし、その結果は、 Warning: imap_open() [function.imap-open]: Couldn't open stream {localhost:110/pop3}INBOX in /var/www/****/****/***/****/****.php 接続失敗 上のように接続はできませんでした。 php(バージョン5.16)ではphp.iniは、以前のものとは変わってしまって、どうもアチコチを検索して物まねをして、書き換えているだけの私では、どう設定してよいかわかりません。 また、imap関数を使うには、何かインストールする必要があるのでしょうか? phpinfo()でも見てみましたが、よくわかりませんでした。 phpinfo()ではConfigure Command のところには、 ./configure' '--host=x86_64-redhat-linux-gnu' '--build=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--without-sqlite' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter' additional .ini files parsedのところには /etc/php.d/bcmath.ini, /etc/php.d/dba.ini, /etc/php.d/dbase.ini, /etc/php.d/dom.ini, /etc/php.d/gd.ini, /etc/php.d/imap.ini, /etc/php.d/mbstring.ini, /etc/php.d/mcrypt.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/ncurses.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_pgsql.ini, /etc/php.d/pdo_sqlite.ini, /etc/php.d/pgsql.ini, /etc/php.d/soap.ini, /etc/php.d/sqlite.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlrpc.ini, /etc/php.d/xmlwriter.ini, /etc/php.d/xsl.ini この中には、imap.iniという文字が見えました。 と書いてあります。 どなたか、ご専門の方ご教授宜しくお願いいたします。

    • 締切済み
    • PHP
  • 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
  • PHPの4.4.9と5.2.13の共存について。

    PHPの4.4.9と5.2.13の共存について。 OSはRHLE4で既存で動いているPHP4のプログラムがあります。 今回、開発してもらったPHP5のプログラムを同じサーバで動作させようと思っております。 既にPHP5.2.9が入っておりましたが、オプションでMySQLがなかったため、 PHP5をアンインストールして、ソースからコンパイルしてインストールしhttpdを再起動しました。 しかし、phpinfo()で確認したところ、PHPのVersionが5.2.9のまま変化ありません。 ソースからのインストールが初心者なもので大変申し訳御座いませんが、 PHP4と5の共存とソースからインストールした際のアンインストール方法を教えていただけますでしょうか? インストール方法は下記サイトを参考にPHP5バージョンで行ないました。 http://d.hatena.ne.jp/shogo0809/20100714/1279110673 ./configureオプションは下記です。 --prefix=/usr/local/php5 \ --with-config-file-path=/usr/local/php5/lib \ --with-sqlite \ --with-mysql=/usr/local/mysql5 \ --enable-sigchild \ --enable-mbstring \ --enable-mbregex \ --enable-force-cgi-redirect \ --enable-zend-multibyte \ --with-gd \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-zlib \ --with-zlib-dir=/usr \ --with-openssl \ --enable-ftp \ --with-curl \ --with-pgsql=/var/lib/pgsql

    • ベストアンサー
    • PHP
  • PHPとMySQLが接続できません。(Linux環境)

    【状態】 ブラウザからサーバのPHPにアクセスした際、MySQLに接続してSelect文を流すスクリプト(仮にselect.phpとします)を作成しました。 しかしブラウザからドキュメントルート直下の同スクリプトにアクセスすると、 Fatal error: Call to undefined function mysql_connect() in [スクリプトのフルパス] on line 14 とエラー表示されてしまいます。 phpinfo()を確認したところ、MySQLのセクションがない状態。 他のWebページを参考にphp-mysqlモジュールをyumでインストールし、php.iniに   extension=mysql.so   extension=mysqli.so と   extension_dir = "/usr/lib/php/modules" の2行を追加しApacheを再起動しましたが、状態変わらずです。 ちなみにApacheとPHPはソースからインストールし、httpd.confもphp.iniも/usr/local/apache2/conf/以下に配置。 httpd.conf中に   PHPIniDir "/usr/local/apache2/conf" の表記もあり、MySQLに接続しないPHPは正常に処理されます。 また、mysql.so/mysqli.soも上記php.iniで指定した"/usr/lib/php/modules"に存在します。 何か原因として考えられる事はありますでしょうか。 心当たりのある方がいらっしゃいましたらアドバイスお願い致します。 【各バージョン ※インストールした順に表記】 OS:CentOS 5.2 (VMWare上で稼働) カーネル:2.6.18-92.el5 Apache:2.2.9 (ソースからコンパイル) PHP:5.2.6 (ソースからコンパイル) php-mysql:5.1.6 (yumでインストール) mysql:5.0.45 (yumでインストール) mysql-server:5.0.45 (yumでインストール) 以上、見にくくて申し訳ありませんが宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 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
  • PHPで、Fatal error: Call to undefined

    PHPで、Fatal error: Call to undefined function mysql_connect()のエラーが出ます。 サーバは、FreeBSD /usr/ports/lang/php5-extensions にて、make install clean /usr/local/etc/php.ini にて、extension=php_mysql.dll のコメントをはずす apache再起動 を行いましたが改善されません。 php.infoを見ると、 extension_dir /usr/local/lib/php/20060613 となっているのですが、ここのディレクトリには、php_mysql.dllがありません… find / -name php_mysql.dll をしてみましたが、見つけることができませんでした。。 なので、php5-extensionsのインストールに失敗しているのかもしれませんが、再度posrからインストールしようとすると、 ===> Checking if textproc/php5-ctype already installed mkdir: /usr/local/etc/php: File exists *** Error code 1 Stop in /usr/ports/textproc/php5-ctype. *** Error code 1 Stop in /usr/ports/lang/php5-extensions. *** Error code 1 Stop in /usr/ports/lang/php5-extensions. となり、インストールできません。 色々調べてはいるのですが、解決できないので、教えてください! よろしくお願いします。

専門家に質問してみよう