【问题标题】:PHP Shown as textPHP 显示为文本
【发布时间】:2016-04-04 04:04:23
【问题描述】:

修复可能很容易,但我花了 4 个小时试图找到它。 这是我第一次使用 Laravel。我在 Debian 8 上设置它。 安装此工作所需的所有模块。 问题是 php 显示为文本。

到目前为止我尝试了什么:

sudo apt-get update
apt-get install curl
sudo apt-get install -y build-essential
sudo apt-get install -y python-software-properties

sudo apt-get install -y php5
sudo apt-get install -y apache2
sudo apt-get install -y libapache2-mod-php5
sudo apt-get install -y mysql-server
sudo apt-get install -y php5-mysql
sudo apt-get install -y php5-curl
sudo apt-get install -y php5-gd
sudo apt-get install -y php5-mcrypt
sudo apt-get install -y git-core
sudo apt-get install -y phpmyadmin
apt-get install unzip

curl --silent --location https://deb.nodesource.com/setup_0.12 | bash -
apt-get install --yes nodejs
apt-get install --yes build-essential

sudo a2enmod rewrite

sudo /etc/init.d/apache2 restart

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

sudo apt-get update
sudo apt-get install tcl8.5

wget http://download.redis.io/releases/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make
make test
sudo make install
cd utils
sudo ./install_server.sh

Changed the document root here: /etc/apache2/sites-avialable
From DocumentRoot /var/www/html to DocumentRoot /var/www/html/public

Added this to the apache config.
Include /etc/phpmyadmin/apache.conf


/etc/redis/6379.conf
Uncommented:
#bind 127.0.0.1
bind 127.0.0.1

service redis_6379 restart
service apache2 restart

【问题讨论】:

  • 您是否已经将文件放入/var/www/html/public 以查看 Apache 是否正常工作?
  • apache2重启成功了吗?我看到你在重启服务时错过了sudo
  • @GuyT 是的,这就是问题所在。 prntscr.com/9k6bfl
  • @Raptor 是的,我尝试使用 sudo 重新启动。
  • 只要在<?php echo 'hello world'; ?>所在的文件夹中放一个简单的index.php就可以检查Apache是​​否启动了。

标签: php apache laravel redis debian


【解决方案1】:

您需要在 apache 文件夹中为您的项目创建一个 conf, 但在进入 laravel 文件夹并运行之前:

php artisan serve

然后点击链接(可能是http://localhost:8000) 看看你是否得到 laravel 主页。

如果成功,现在让我们创建 apache conf 文件:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName  EXAMPLE.COM
    DocumentRoot /PATH/TO/YOUR/LARAVEL/PUBLIC/FOLDER
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /PATH/TO/YOUR/LARAVEL/PUBLIC/FOLDER>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Require all granted
    </Directory>

</VirtualHost>

将此文件放入

/etc/apache2/sites-available/YourProjectName.conf

现在运行这个:

 sudo a2ensite YourProjectName.conf

还有这个

 sudo service apache2 reload

【讨论】:

  • prntscr.com/9k6fia 问题是我没有在本地进行。它在vds上。当我尝试访问 vds ip:800 时,它会引发错误。
  • 以上都是我做的。但是遇到同样的问题:(
  • 对不起,我不知道你的服务器配置是什么,所以很难帮助
【解决方案2】:

您是否尝试过运行composer updatecomposer install?当 Laravel 吐出文本时,这似乎解决了我的大部分头痛问题。以前有同样的问题,但我不记得究竟是什么解决了它

【讨论】:

  • 我已经这样做了:curl -sS getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer 当我执行“composer install”时,它会要求提供 json 文件。
  • 我认为作曲家需要在usr/bin 而不是usr/local/bin,不确定这是 ubuntu 的事情还是一般来说只是作曲家的事情。 (编辑,该死的输入快捷方式)在你的 laravel 项目的根目录下还有一个 vendor 目录吗? (再次编辑) - 在你的 laravel 目录的根目录下还需要有一个 composer.json,我对新项目的做法是我运行 composer create-project laravel/laravel {directory} 它获取包括供应商在内的所有内容
猜你喜欢
  • 1970-01-01
  • 2012-01-31
  • 2020-01-16
  • 2016-02-08
  • 2016-07-25
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多