猿问

为什么网页中的 phpinfo() 显示版本 5.6,而命令行中的 php -v 显示 7.3?

已阅读以前的答案并了解我必须安装两个版本,但无法找到 5.6 的位置。我将 /etc/bin/php 更改为指向我使用 brew 安装的版本 7.3。我更新了 /etc/apache2/httpd.conf 以使用 php@7.3。我重新启动服务器以确保它会开始从 httpd.conf 读取 apache。然而,当我从网页运行 phpinfo 时,它从 5.6 开始并且不包括有关服务器管理员的 http.conf 信息,但它说它正在使用 http.conf。出于某种原因, sudo apachectl restart 表示端口已在使用中不起作用。我删除了 /usr/local/php5 链接(将其重命名为 php5.bak ),因此它不会被使用。

我还应该看哪些其他东西?


牧羊人nacy
浏览 256回答 3
3回答

阿波罗的战车

当您使用php -v命令时php-cli,您可以使用不同的版本。此外,如果您安装了多个版本,您可能需要禁用旧版本的 apache 模块。sudo a2dismod php5 // disable php5.6 sudo a2enmod php7.3 // enable php7.3

千万里不及你

可能有许多不同的原因导致它,但我打赌系统安装的 MacOS Apache。尝试从启动中杀死它:sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

冉冉说

我找到了一个“部分”的答案。我在 mac-mini 上运行 Mac OS X 10.12.6 作为 Web 服务器。apache的配置文件的位置是:/Library/Server/web/config/apache2/httpd_server_app.conf因此,所有 /etc/apache2/httpd.conf 和其他建议,虽然它们在许多使用 brew 安装的 unix 甚至 OS X(非服务器)上都可以正常工作,但它们在这里不起作用。我对上述文件进行了一些更改,并验证了在进入服务器应用程序后,在服务菜单中选择网站,然后单击将 ON/OFF 按钮切换为关闭,然后重新打开,服务器重新启动。使用不同的 apache2ctl restart 等的所有尝试都不起作用。我仍然有些困惑,我输入的服务器管理员没有出现在 phpinfo.php 显示中,但其他一些更改确实出现了。我的下一个任务和建议是受欢迎的,是如何更改 http_server_app.conf 文件,以便使用命令行中提供的我的 php7 而不是 php5。改变的尝试:LoadModule php5_module libexec/apache2/libphp5.so#LoadModule php7_module libexec/apache2/libphp7.so由于无法找到 libphp7.so,因此无法正常工作。我现在正在寻找它。在会议文件的某一时刻,我发现:<IfModule php5_module>&nbsp; &nbsp; AddType application/x-httpd-php .php&nbsp; &nbsp; AddType application/x-httpd-php-source .phps&nbsp; &nbsp; <IfModule dir_module>&nbsp; &nbsp; &nbsp; &nbsp; DirectoryIndex index.html index.php&nbsp; &nbsp; </IfModule></IfModule>一旦我找到它并在上面使用它,我是否需要为 php7_module 提供这样的一个?
随时随地看视频慕课网APP
我要回答