• 締切済み

extensionが反映されない

OS:FreeBSD4.11 PHP:4.2.2 phpにsessionモジュールを追加しようとphpと同様にportsでインストールしたのですが、sessionが使えません。 phpinfoを見るとextensions.iniの名前があり、extensions.iniに extension=session.so があるのですが、sessionが使えません。 対応方法や切り分け方法を教えてください。 宜しくお願いします。

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

みんなの回答

  • elf2000
  • ベストアンサー率50% (6/12)
回答No.3

参考URLを見る限り,PHPのバージョンは4.2.2じゃないですね. つまりPHPはバージョン4.2.2,session拡張モジュールは4.3.11のものがインストールされた状態になっていませんか? もしその状態ならphp.iniでerror_reporting = E_ALLなどにしてあれば警告などがでるはずですが, コマンドラインでの実行時にエラー表示,apacheの起動時にログに何か出力されませんか?

参考URL:
ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.11-RELEASE/packages/lang/
tetsu-jin
質問者

お礼

誤:4.2.2   ↓ 正:4.4.2 でした。すいません。

tetsu-jin
質問者

補足

ご回答、ありがとうございます。 当初PHP4.3.**にportsで追加しようとしたところ、4.4.2だからインストールできない! って出たので一旦4.3.**を削除し、再度4.4.2を入れて拡張モジュールを入れたところ エラーは出なかったのでPHPと拡張モジュールのバージョンはあっていると思います。 そうなんですよ~、今までのは全てエラーが出ていたので対処できたんですが何故か出ないんですよ…

  • elf2000
  • ベストアンサー率50% (6/12)
回答No.2

まず,sessionを追加してからapacheを再起動などしましたか? していなければ試してからサイド確認してください. それでも希望どおりにならない場合,はこの辺の確認をしてみてください. 1)phpinfo()などでPHPの情報を表示 1-1)extension_dirを確認 1-2)additional .ini files parsedを確認 2)1-1)で調べたディレクトリにsession.soがあるか確認 3)1-2)で調べた中にextensions.iniが存在するか確認 portsからのインストールならコマンドラインから $ php -i などとすることでも調べることができます.

tetsu-jin
質問者

補足

ご回答、ありがとうございます。 もちろん、apacheだけでなく本体も再起動しています。 1)-3)まで確認しておりますが、どこにも間違えた記述はないように見えます。 問題なく動いているサーバと比較しても、違いが見つからなくて…。 まったく見当が付かないという感じです。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

>sessionが使えません。 具体的にどのような現象が起こっていますか? 具体的な現象(エラーメッセージなど)と使用しているソース(必要最低限の部分だけ)を提示してみてはいかがですか?

tetsu-jin
質問者

補足

ご回答、ありがとうございます。 session_start()すると、undefine functionって出るのと phpinfo()にsessionに関する記述が無いって事で使えないと判断しています。

関連するQ&A

  • 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
  • FreeBSDでphp5-extensionをインストールするとMySQLもインストールされてしまいます

    当方FreeBSD 7.0でPHP5+APACHE2.2+MySQL5.1をインストールし、サイト運営をしようとしています。PHPとAPACHEはportsからインストールし、MySQLはportsではなくMySQL ABのサイトから取得したソースからコンパイルしました。 PHPからMySQLを利用するためphp5-extensionをportsインストールしようとしているのですが、php5-extensionの依存関係のせいかMySQL5.1もportsインストールしようとしてしまいます。 多分MySQLだけはportsを利用しないでインストールしたためと思うのですが、MySQLは既にインストールしているため不要と考えています。MySQL自体の取得は回避してphp5-extensionをインストールする方法はありますでしょうか。 以上、よろしくお願いします。

  • 古いパッケージの導入方法について

    php 5.2.1_3 用の pdo を導入したいのですが、 ports ツリーが最新の状態です。 php のバージョンが 5.2.17 に、 php-extensions のバージョンも 1.3 になっています。 この状態で上記の pdo を導入するにはどうしたらいいのでしょうか。 # pkg_info php5-5.2.1_3 PHP Scripting Language (Apache Module and CLI) php5-extensions-1.1 A "meta-port" to install PHP extensions php5-gd-5.2.1_3 The gd shared extension for php php5-mbstring-5.2.1_3 The mbstring shared extension for php php5-mysql-5.2.1_3 The mysql shared extension for php php5-pcre-5.2.1_5 The pcre shared extension for php php5-session-5.2.1_3 The session shared extension for php php5-xml-5.2.1_3 The xml shared extension for php ports/lang/php5 PORTVERSION= 5.3.8 ports/lang/php52 PORTVERSION= 5.2.17 ports/lang/php5-extensions PORTVERSION= 1.5 ports/lang/php52-extensions PORTVERSION= 1.3 ports/databases/php52-pdo で、 make install clean で問題ないものでしょうか。 それとも php をバージョンアップする事が必須となるのでしょうか。 また、こういう状態となる事の回避方法と言うか運用方法を 教えて頂けたら幸いです。 宜しくお願いします。

  • FreeBSDにPHPをインストール

    FreeBSDにApacheを入れてWebサーバを運用しています. このサーバに,Portsを使ってPHPをインストールし,次にextensionsをインストールするとApacheが起動しません(PHPだけだと起動します). 自分でもいろいろ調べてはいるのですが,どうしても原因と解決方法がわかりません. どなたかご教授をお願いいたします. サーバの環境は, FreeBSD5.5 Apache HTTP server2.2 です. インストールしたいPHPは PHP5.2 で,そのextensionsとしてインストールしたいものは mbstring mysql mysqli session です. よろしくお願いいたします.

    • 締切済み
    • PHP
  • 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. となり、インストールできません。 色々調べてはいるのですが、解決できないので、教えてください! よろしくお願いします。

  • 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++で書いたこれだけうまくよみとってくれません。 何かご存知の方がいらっしゃいましたら教えて下さい。

  • windowsからlinuxに移行php動作

    現在、windowsサーバーからlinuxサーバーに移行しようとしています。 実際にlinux上でPDOを利用してDB接続を行いたいと思っていますが、 以下のようなエラーがでています。 ■エラー内容 PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' PDOモジュールはインストール済です。(以下、php -mコマンド実施) [PHP Modules] ctype curl date filter gd gettext libxml mbstring mysql mysqli openssl pcre PDO Reflection session SimpleXML SPL standard zip zlib [Zend Modules] ■/usr/local/php/etc/extensions.iniの設定 ※「;」はコメント ;Unix Extensions extension=spl.so extension=simplexml.so extension=session.so ;extension=iconv.so ;extension=bcmath.so ;extension=bz2.so ;extension=calendar.so ;extension=chasen.so extension=ctype.so extension=curl.so ;extension=dba.so ;extension=dbase.so ;extension=dom.so ;extension=exif.so ;extension=ftp.so extension=gd.so extension=gettext.so ;extension=gmp.so ;extension=hash.so ;extension=imap.so ;extension=json.so ;extension=kakasi.so extension=mbstring.so ;extension=mcrypt.so ;extension=mhash.so extension=mysql.so extension=mysqli.so ;extension=namazu.so ;extension=oci8.so extension=openssl.so extension=pdo.so extension=pdo_mysql.so ;extension=pdo_oci.so ;extension=pdo_pgsql.so ;extension=pdo_sqlite.so ;extension=pgsql.so ;extension=posix.so ;extension=pspell.so ;extension=soap.so ;extension=sockets.so ;extension=sqlite.so ;extension=tokenizer.so ;extension=xml.so ;extension=xmlreader.so ;extension=xmlrpc.so ;extension=xmlwriter.so ;extension=xsl.so extension=zip.so extension=zlib.so ちなみにですが、php.iniの方は何か設定する必要があるのでしょうか? 大変申し訳ありませんが、 ご教授の方、宜しくお願い致します。

    • 締切済み
    • PHP
  • windowsからlinuxに移行php動作

    他の質問サイトでも投稿しております。 現在、windowsサーバーからlinuxサーバーに移行しようとしています。 実際にlinux上でPDOを利用してDB接続を行いたいと思っていますが、 以下のようなエラーがでています。 ■エラー内容 PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' 上記のエラーメッセージの後にはphpのソースのエラー行(「PDO->__construct」のロジックでエラー)が出力されています。 PDOモジュールはインストール済です。(以下、php -mコマンド実施) [PHP Modules] ctype curl date filter gd gettext libxml mbstring mysql mysqli openssl pcre PDO Reflection session SimpleXML SPL standard zip zlib [Zend Modules] ■/usr/local/php/etc/extensions.iniの設定 ※「;」はコメント ;Unix Extensions extension=spl.so extension=simplexml.so extension=session.so ;extension=iconv.so ;extension=bcmath.so ;extension=bz2.so ;extension=calendar.so ;extension=chasen.so extension=ctype.so extension=curl.so ;extension=dba.so ;extension=dbase.so ;extension=dom.so ;extension=exif.so ;extension=ftp.so extension=gd.so extension=gettext.so ;extension=gmp.so ;extension=hash.so ;extension=imap.so ;extension=json.so ;extension=kakasi.so extension=mbstring.so ;extension=mcrypt.so ;extension=mhash.so extension=mysql.so extension=mysqli.so ;extension=namazu.so ;extension=oci8.so extension=openssl.so extension=pdo.so extension=pdo_mysql.so ;extension=pdo_oci.so ;extension=pdo_pgsql.so ;extension=pdo_sqlite.so ;extension=pgsql.so ;extension=posix.so ;extension=pspell.so ;extension=soap.so ;extension=sockets.so ;extension=sqlite.so ;extension=tokenizer.so ;extension=xml.so ;extension=xmlreader.so ;extension=xmlrpc.so ;extension=xmlwriter.so ;extension=xsl.so extension=zip.so extension=zlib.so ちなみにですが、php.iniの方は何か設定する必要があるのでしょうか? 大変申し訳ありませんが、 ご教授の方、宜しくお願い致します。

    • 締切済み
    • PHP
  • PHPからMySQLが動かせません

    PHPからmysqlのテーブルを開こうとした際に Fatal error: Call to undefined function mysql_connect() という一文が出ました。 php.iniのextension_dirのパスは一字一句間違っておりませんし、 extension=mysql.so extension=mysqli.so の二文も追加しました。また、その二つのファイルがあることも確認済みです。 また、phpファイルの構文は以下のとおりになっています。 $link = mysql_connect('ローカルホスト', 'ユーザー名', 'パスワード'); if (!$link) { die('接続失敗です。'.mysql_error()); } print('<p>接続に成功しました。</p>'); こちらもいろいろ調べまして、php_mysql.soとphp_mysql.soがないためではないかなどとかんぐっておりますが、そういった記述は私が調べた限りにおいては見かけませんでした。 php_mysql.soとphp_mysql.soというファイルはなくても、mysql.soとmysqli.soというファイルがあれば動くのでしょうか? 仮にphp_mysql.soとphp_mysql.soというファイルがないと動かない場合、何をインストールすればよいのでしょうか? ご回答よろしくお願いします。 また、PHPとMySQLはソースファイルを/usr/ports/distfilesディレクトリにコピーした上でポートからmake、make installしました。 マシンスペック OS…FreeBSD6.4 Apache…1.3.14 PHP…5.2.8 MySQL…5.0.92 都合上、バージョンを他のものに変更することはできません。 追記してくれということがありましたらよろしくお願いします。

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

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

専門家に質問してみよう