我对 Linux 不太熟悉。我正在尝试通过 ssh 设置服务器。我通过此命令安装了 apache php 和 mysql。
sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server
但我认为服务器上未启用 php。
当我运行命令时,我收到如下响应
$ which apache2ctl
/usr/sbin/apache2ctl
但当我检查时$ which php
没有收到任何回复。
$ locate php5
/etc/apparmor.d/abstractions/php5
/usr/share/ubuntu-serverguide/html/C/php5.html
答案1
在 Debian(以及 Ubuntu)上,Apache 配置文件存储在 下/etc/apache2
。在该目录中,有 2 个用于配置模块的子目录: mods-available
和mods-enabled
。当您安装 Apache 模块(即:foo)时,它会将foo.load
(可能还有foo.conf
)放入/etc/apache2/mods-available
目录中。当您使用 启用 Apache 模块时,它会为 中的每个匹配文件a2enmod
创建一个符号链接。 /etc/apache2/mods-enabled
/etc/apache2/mods-available
因此,对于启用了 PHP5 的 Ubuntu 服务器,您应该看到如下内容:
$ cd /etc/apache2
$ ls -l mods-*/*php*
-rw-r--r-- 1 root root 133 2008-02-27 15:49 mods-available/php5.conf
-rw-r--r-- 1 root root 59 2008-02-27 15:49 mods-available/php5.load
lrwxrwxrwx 1 root root 27 2009-02-05 07:30 mods-enabled/php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root 27 2009-02-05 07:30 mods-enabled/php5.load -> ../mods-available/php5.load
如果目录中未显示 php5 配置文件mods-enabled
,请按如下方式启用它们:
$ sudo a2enmod php5
$ sudo /etc/init.d/apache2 restart
完成后,为了测试 PHP5 是否已配置,请创建/var/www/test.php
以下命令:
$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/test.php
$ sudo chown www-data:www-data /var/www/test.php
$ sudo chmod 755 /var/www/test.php
完成后,您应该能够浏览/test.php
该服务器并查看 PHP 配置数据。
答案2
使用phpinfo()函数。创建一个 Apache 将提供的 .php 文件并包含以下内容:
<?php
phpinfo();
?>
当您导航到 .php 文件并安装 php 时,它会为您提供有关已安装的 php 版本的大量信息。
答案3
我相信 php 二进制文件是名为 php5-cli 的单独包的一部分,但您似乎没有安装它。
答案4
a2dismod
禁用 apache 模块,并且在不带参数执行时显示启用的模块列表:
您的选择是:别名 auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi deflate dir env mime mod-evasive mod-security negotiationphp5 重写 scgi setenvif ssl 状态 unique_id
您想要禁用哪个模块(可以使用通配符)?
如果php5
在列表中,则表示已安装并启用。(CTRL-C 放弃该命令)