我刚刚完成了 Ubuntu (10.04.1) 和 LAMP (via sudo tasksel install lamp-server)的全新安装,一切正常。但是,它会这样做,直到我没有互联网连接时需要在本地主机上工作。例如,一旦我从 NIC 上拔下以太网电缆,localhost 和 127.0.0.1 就会停止工作。
我从浏览器收到的消息是:
此网页无法使用。
然后,一旦我再次将以太网电缆插入笔记本电脑,一切又恢复正常。当我无法访问互联网时,有时我需要在本地主机上工作。
知道如何解决这个问题吗?我以前遇到过这个问题,但不记得我做了什么来解决它。
我是一个相对较新的 Ubuntu 用户,想使用最新版本的 PHP 5.6 和 Apache 2.4
几年来,我一直在 Windows 上使用最新版本的 Apache 和 PHP,没有任何问题,但我正在切换到 Ubuntu,因为它们提供了更好的性能。
我注意到 Ubuntu 中的版本较旧,我阅读了一些教程,有些人建议安装 Ond?ej Surý PPA。
我读过 PPA 可能包含恶意软件等,并且由于我不熟悉他的 PPA,因此我在此处寻求有关(他的)PPA 的建议。
我读到他是某些 Debian 软件包的官方维护者。我想知道他的 Ubuntu 软件包是否有很大的用户份额以及它们是否可以安全使用。(例如,是否还有其他人参与他的 PPA 或检查可能的恶意代码)
注意:我不想暗示他不能被信任或任何东西,但我只是好奇和小心;)
此外,由于 Debian 与最新版本的 Apache 和 PHP 保持同步,我正在考虑切换到它,因为它有更多的人贡献和使用他们的包。
我知道如何很好地使用命令行和文本编辑器 nano(毕竟我运行的是 Ubuntu 服务器;)
我的问题是,切换到 Debian 有多难?它是否可以与运行 ubuntu 服务器相媲美,就像我使用 apt-get 安装软件并使用文本编辑器配置它一样?或者更像是必须编辑源代码并自己编译东西?
今天早上更新后,php 不再起作用。错误:
AH01071: 得到错误“PHP 消息:PHP 致命错误:调用 /var/www/html/public_html/.../config.php 中的未定义函数 mysqli_connect() 在第 2 行\n”,引用:http://localhost /public_html/
php -v
PHP 7.0.6-9+donate.sury.org~xenial+2 (cli) ( NTS ) 版权所有 (c) 1997-2016 The PHP Group Zend Engine v3.0.0,版权所有 (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev,版权所有 (c) 1999-2016,由 Zend Technologies
之前安装过这些库,dist-upgrade 到 16.04 后花了我相当长的时间来适应
我正在尝试使用domainfor mylocalhost而不是localhostor127.0.0.1
我已经添加了一个配置文件myconfig.conf,sites-availbale
我也使用启用了它sudo a2ensite myconfig.conf
当我apache2使用重新启动服务器时sudo sudo systemctl restart apache2,出现错误
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)
我apache2通过卸载它重新安装,但它给出了错误
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
invoke-rc.d: initscript apache2, action "start" failed.
Run Code Online (Sandbox Code Playgroud)
sudo 的输出 journalctl …
如何将 phpMyAdmin 端口从 更改80为99?
我和我的同事最近花了很长时间试图弄清楚为什么 PHP 7 在浏览器中显示为纯文本而不是运行。我们发现了一个包含这些命令的 StackOverflow 已投票答案。
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
它解决了问题,但不幸的是答案没有包含这些命令的作用的解释。我们理解sudo service apache2 restart但不理解前两行。我在网上搜索,但只找到了此代码的更多实例,但没有真正解释它是如何工作的或为什么需要它。
这些命令有什么作用以及何时需要?
为了在我的 16.04 服务器上启用 HTTP/2,我按照Google 的推荐遵循了本指南,但出于某种原因,我的站点仍然通过 HTTP/1.1 提供服务。我已经检查并再次检查一切是否正确,重新启动服务(和服务器!)几次,都无济于事。
http2 mod在apache2中启用。Protocols h2 h2c http/1.1 已添加到我的站点配置文件中(并且刚刚在我的 apache.conf 中进行了测试)我错过了什么吗?
编辑:
刚刚运行curl -I -k --http2 https://framework.jacob.rocks/并收到以下...
HTTP/1.1 200 OK
Date: Thu, 20 Jul 2017 17:12:52 GMT
Server: Apache/2.4.27 (Ubuntu)
Upgrade: h2,h2c
Connection: Upgrade
Link: <https://framework.jacob.rocks/wp-json/>; rel="https://api.w.org/"
Link: <https://framework.jacob.rocks/>; rel=shortlink
X-TEC-API-VERSION: v1
X-TEC-API-ROOT: https://framework.jacob.rocks/wp-json/tribe/events/v1/
X-TEC-API-ORIGIN: https://framework.jacob.rocks
Content-Type: text/html; charset=UTF-8
Run Code Online (Sandbox Code Playgroud) 设置 Ubuntu 16.04 虚拟主机时,Apache 将使用 PHP 7.0.22-2+ubuntu16.04.1+deb.sury.org+4。
但是,在尝试通过执行apt-get dist-upgrade(并且失败)来解决一些冲突之后,我最终得到了一个严重损坏的系统。我已经设法将大多数软件包版本回滚到默认版本,但 Apache 使用
PHP 7.1.8-2+ubuntu16.04.1+deb.sury.org+4,这与我需要的一些 PHP 库不兼容。
到目前为止,我已经尝试过:
sudo a2dismod php7.1
sudo a2enmod php7.0
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
但是,这会破坏 Apache 并拒绝重新启动:
Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.0.load: Cannot load /usr/lib/apache2/modules/libphp7.0.so
Run Code Online (Sandbox Code Playgroud)
如何让 Apache 再次运行默认的 PHP 版本 (PHP 7.0)?
编辑:Dan下面对我的 [现已编辑] 自我回答的评论 让我意识到添加以下第三方 PPAppa:ondrej/php可能与问题有关。
所以:
我已将 PPA 添加ppa:ondrej/php到我的网站。
我刚刚在 Ubuntu 18.04 服务器上安装了 LAMP,但我无法让 PHP fastcgi 工作。这是我的设置:
我的 fpm PHP 文件:/etc/php/7.2/fpm/pool.d/sites.mydomain.conf
[sites.mydomain]
...
user = sites
group = sites
...
listen = /run/php/php7.2-fpm.sites.mydomain.sock
...
listen.owner = www-data
listen.group = www-data
Run Code Online (Sandbox Code Playgroud)
然后
sudo service php7.2-fpm reload
sudo service php7.2-fpm restart
Run Code Online (Sandbox Code Playgroud)
我的虚拟主机文件:etc/apache2/sites-available/sites.mydomain.conf
ServerName sites.mydomain
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/sites/html
<IfModule mod_fastcgi.c>
AddHandler php7-fcgi-sites .php
Action php7-fcgi-sites /php7-fcgi-sites
Alias /php7-fcgi-sites /usr/lib/cgi-bin/php7-fcgi-sites
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi-sites -idle-timeout 60 -socket /var/run/php/php7.2-fpm.sites.mydomain.sock -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
<Directory /srv/www/sites/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride …Run Code Online (Sandbox Code Playgroud) 当我想在 Ubuntu 服务器上启动 Apache2 时,出现此错误
AH00526: Syntax error on line 49 of /etc/apache2/sites-enabled/bookstyle.sokrator.net.conf:
Invalid command 'php_admin_value', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
apache2 ×10
php ×6
server ×4
16.04 ×3
php7 ×3
networking ×2
command-line ×1
fastcgi ×1
lamp ×1
php-fpm ×1
phpmyadmin ×1
virtualmin ×1