我有运行 Debian 5.0 的 VPS(我认为),我想让它运行 PHP 文件。有人告诉我它需要使用 Apache 进行配置。我尝试输入命令apt-get install apache2 php5 libapache2-mod-php5。但是没有任何变化。控制台输出:http : //pastebin.com/sVMWq6mA
这是我的一切/etc/apache2/mods-enabled:
http://img35.imageshack.us/img35/6474/modsb.jpg
我的网络服务器可以在这里访问:http : //206.217.223.136/test/ 在我的 test.php 文件中,我有代码:
<?php
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)
但它没有显示页面,而是尝试下载它。我怎样才能解决这个问题?
我正在运行一个 Web 应用程序,我想将包含我的 php 文件的目录移动到服务器根目录上方。把它们放在哪里最好?
在我从 Namecheap 租用的 Web 服务器上,在 public_html 所在的同一目录中有一个名为 php 的目录。这是放置我的 php 文件的好地方吗?php目录下有data、docs、ext等一些目录。或者这个目录只是用于配置文件?
仅供参考,此服务器正在使用 Apache。
我尝试在 Debian 7 VirtualBox VM 上安装 PHP 5 Memcached 模块失败:
root@testvm:~# apt-get install php5-memcached
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php5-memcached …Run Code Online (Sandbox Code Playgroud) 如何将excel快速转换为csv?我尝试过 php、perl、JavaScript。但这需要太多时间。例如,对于 5MB 的文件,需要 3-5 分钟。
我想存储我网站访问者的 IP,我想使用 PHP。我应该使用 cron 还是如何自动存储访问者的 IP?
我有一台装有 Apache 和 PHP 的 CentOS 6 服务器。我运行了一些应用程序并且可以不断地重现这个崩溃。经过一些顺序操作后,应用程序停止运行,我发现的唯一跟踪是 error_log 中的以下消息:
[Tue Jan 05 16:39:45 2016] [notice] child pid 1636 exit signal Illegal instruction (4)
Run Code Online (Sandbox Code Playgroud)
我在不同的主机上安装了相同的应用程序并且它可以工作。出于这个原因,我认为问题出在操作系统或 Apache 配置中。杀死这个进程的原因可能是什么?
更新 1:两台主机都将 memory_limit 设置为 128M
更新2:禁用SElinux并不能解决问题
更新 3:从pcre-7.8到更新pcre-8.13没有帮助
鉴于在 Linux 环境中存在许多用于操作字符串的包(grep、awk、sed 等),我想要一个软件来提取类似 php/preg 的语法中的捕获组。
也许最接近的是,grep -P但我不明白它是如何工作的。
诸如此类的东西cat file.txt | grep -P '/something="([\w]+)"/i'似乎不仅仅给我捕获组内的内容。
有人可以为我提供一些工作示例吗?请多多,并解释了一些变体和限制!
编辑:我看到某处用于sed执行此目的,但我仍然对它的语法有些困惑。
我一直在尝试在本地主机上将我的项目设置为符号链接/var/www/html,我可以访问放置在其中的普通文件或目录html,但是当我创建符号链接时some/other/path,它给出 403 Forbidden 并error_log说AH00037: Symbolic link not allowed or link target not accessible: /var/www/html/path/to/project。
现在我在这里和其他 StackExchange 网站上进行了相当广泛的搜索,但没有答案。我读到了关于httpd.conf Directory标签的信息Indexes FollowSymlinks,我也有我的默认配置/var/www/html。我还更新了权限并尝试使用root,apache和我自己user作为符号链接所有者和实际目录或文件所有者,但似乎没有任何效果。
我还在.htaccess我的实际项目目录中放置了一个文件,其中包含此文件
Options Indexes
Run Code Online (Sandbox Code Playgroud)
我不明白是否有必要,这只是我尝试过的解决方案的一部分。
如果我需要做任何其他选项,请告诉我,因为我认为这可能会被标记为重复,但我已经搜索了这个问题的答案并遵循了不同的建议。
谢谢
系统
我有 Fedora 32,默认 apache httpd 作为服务运行
编辑:
正如评论中提到的,我应该检查 SELinux,我将其设置为Permissive模式,但没有更改任何内容,它仍然是 403 Forbidden。
我有一个 Ansible 手册,用于在远程计算机上建立 LAMP 环境。
本手册的一部分涉及安装 Composer:
- name: Install Composer
get_url:
url: https://getcomposer.org/installer
dest: /tmp/composer-setup.php
command: php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
Run Code Online (Sandbox Code Playgroud)
相反,我考虑ansible-galaxy在剧本中使用以下 5 行结构:
ansible-galaxy install geerlingguy.composer
Run Code Online (Sandbox Code Playgroud)
geerlingguy.composer是最受社区支持的 AG 角色,拥有超过 100 万用户(所以我假设如果出现问题并且 Jeff 目前不在身边 - 比如说,去夏威夷度假或其他什么地方,将会有许多社区成员来解决问题)问题并确保稳定性。
使用这个也会缩短我已经很长的剧本。
一般来说,最好的做法是在 Ansible 剧本中使用 Ansible-Galaxy 角色来执行任务和测试,而不是在剧本中使用一组 ansible 模块,这些模块显然应该实现相同的目标(也许一些多余的额外内容可能不重要并且不会)不要打扰作为 AG 角色的一部分)?我认为是的,因为它更公共、更稳定。
我正在将服务器从 Debian 9 (stretch) 升级到 Debian 10 (buster),并且我知道(并且打算)这会导致 PHP 从 PHP 7.0 升级到 PHP 7.3。
php -v确实显示 PHP 7.3 已安装,但是当尝试登录到服务器上运行的 Web 应用程序时,我收到一条(模糊的)错误消息,并且当我创建要运行的测试页面时,它显示phpinfoApache 似乎仍然正在运行 PHP 7.0。
我曾预计 Apache 将改用 PHP 7.3 作为操作系统升级的一部分。我需要做什么才能让 Apache 现在使用 PHP 7.3?