をここで何が起こっていますか?
システムに複数のバージョンのPhPがインストールされている可能性があり、使用する予定のバージョンがApacheで使用されていない可能性があります。
どのバージョンのPhP Apacheを使用しているかをどのように知っていますか?
これを知るには、Apacheの設定ファイルのROOTディレクトリを知ることが重要です。コマンドラインで、次のように入力することができます
apache2ctl -V //sample output below
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Server version: Apache/2.4.7 (Ubuntu)
Server built: Jul 15 2016 15:34:04
Server's Module Magic Number: 20120211:27
Server loaded: APR 1.5.1-dev, APR-UTIL 1.5.3
Compiled using: APR 1.5.1-dev, APR-UTIL 1.5.3
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"
を私の場合、私のApacheのROOTの設定ディレクトリは、私は、Apacheが使用しているのconfigsの場所を知っていることを今
HTTPD_ROOT="/etc/apache2"
に示されています"/etc/apache2"
ディレクトリにある"mods-enabled"
ディレクトリを調べることで、使用しているPhPのバージョンを正確に判断できるようになりました。私は、ApacheがPHPの'php5'
バージョンを使用していたことを確実に知ることができた、この時点で
access_compat.load authz_user.load filter.load php5.load
...
authz_host.load env.load php5.conf
:"mods-enabled"
の内側に、それはFFの出力を示した0を行う私の場合は
、おそらく私のシステムにインストールされています。
$ php5 -r "curl_init();"
PHP Fatal error: Call to undefined function curl_init() in Command line code on line 1
出来上がり:
そしてIは、以下のコマンドを実行して、ペソ(すなわち、'php5'
)のこのバージョンを使用して、上記コードのエラーを再現してみました!
Apacheが使用していると予想していたPHPのバージョンが"php5.6"
で、上記の同じコマンドをこのバージョンで実行してもエラーは発生しませんでした。
Apacheに使用するPhPのバージョンを教えてください。私の場合は
、私はApache2ののa2enmod/a2dismod
CLIコマンドを使用していました。
はまず、私は私のサーバー(すなわち、"php5"
)現在アクティブなPHPモジュールを無効にします。
a2dismod php5
その後、私は私が私のApacheが使用したいのPHPバージョンのPHPモジュールを有効に:
a2enmod php5.6
私はOをリフレッシュした後、それから私は、Apache
service apache2 restart
を再起動します私のウェブサイトでffendingページ、エラーは今なくなっています。
修正します。それはCLIスクリプトで働いたような厄介なもの! – Sydwell
Ubuntuサーバー14.04から16.04への最後のアップグレードは、必要なだけ滑らかに行われませんでした。 MySQLは設定ファイルの中で廃止予定の変数のためにリムボーに残っていましたが、今はカールが魔法のように削除されていて、ジョブが2,3日間知らずに失敗していることが分かりました。 –
私の場合、ちょうど参考になりました。デフォルトの7ではなくPHP 5.6を実行していますので、 'apt-get install php-curl'は私に7バージョンを与えました。' 'apt-get php5.6-curl'をインストールする必要がありました – Neek