EDIT2:安装并启用了APC。什么是解决方案?
我正在尝试将symfony应用程序部署到VPS。 我从git ok部署了代码,我安装了供应商并检查了/web/config.php来修复Symfony要求的所有主要和推荐的问题。这都是绿色的。
然而,当我尝试访问[VPS_IP] /my_project/web/app.php时,我得到页面无效。 [my_ip]目前无法处理请求。
我还尝试配置虚拟主机并尝试仅将[my_ip]上的Symfony应用程序作为URL地址访问,并得到相同的结果。
我已经启用了apache 2 mod重写,我添加并启用了所有必要的php扩展,我在php.ini中设置了date.timezone,我也查看了dev.log文件并且我已经查看了有这个错误可能是原因:
[2016-11-22 14:45:49] php.DEBUG: fsockopen(): unable to connect to 127.0.0.1:800 0 (Connection refused) {"type":2,"file":"/var/www/html/giftbundle/vendor/symfony /symfony/src/Symfony/Bundle/FrameworkBundle/Command/ServerCommand.php","line":59 ,"level":28928} []
有人可以提供一些帮助吗?
config.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: "@MyVendorBundle/Resources/config/services.yml" }
# Put parameters here that don't need to change on each machine where the app is deployed
# http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: en
framework:
#esi: ~
#translator: { fallbacks: ["%locale%"] }
secret: "%secret%"
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
serializer: { enable_annotations: true }
templating:
engines: ['twig']
#assets_version: SomeVersionScheme
default_locale: "%locale%"
trusted_hosts: ~
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
fragments: ~
http_method_override: true
assets: ~
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
form_themes:
- 'bootstrap_3_layout.html.twig'
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
# path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
# app/config/config.yml
#knp_menu:
# use "twig: false" to disable the Twig extension and the TwigRenderer
# twig:
# template: knp_menu.html.twig
# if true, enables the helper for PHP templates
# templating: false
# the renderer to use, list is also available by default
# default_renderer: twig
assetic:
debug: '%kernel.debug%'
use_controller: '%kernel.debug%'
filters:
cssrewrite: ~
gregwar_captcha: ~
liip_imagine:
filter_sets:
cover_filter:
filters:
thumbnail:
size: [600, 400]
mode: inset
prod_thumbnail:
filters:
thumbnail:
size: [50, 50]
mode: inset
#web_profiler:
# toolbar: true
# position: bottom
# intercept_redirects: false
# excluded_ajax_paths: ^/bundles|^/_wdt
parameters.yml
# This file is auto-generated during the composer install
parameters:
database_host: [another remote DB IP]
database_port: 3306
database_name: [remote DB name]
database_user: [Remote DB user]
database_password: [remote DB PSW]
mailer_transport: sendmail
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
secret: rodacsoft
facebook_app_id: [fb_app_ID]
facebook_app_secret: [fb_secret]
VPS /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/giftbundle/web
<Directory /var/www/html/giftbundle/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
# <Directory /var/www/project>
# Options FollowSymlinks
# </Directory>
ErrorLog /var/log/apache2/symfony_error.log
CustomLog /var/log/apache2/symfony_access.log combined
</VirtualHost>
编辑:在Symfony_error.log中我有这个。不知道如何解决它或它是否相关。
[Tue Nov 22 14:46:06.216187 2016] [:error] [pid 21788] [client 159.153.60.77:18035] PHP Fatal error: Uncaught Symfony\\Component\\DependencyInjection\\Exception\\ServiceNotFoundException: The service "validator.builder" has a dependency on a non-existent service "validator.mapping.cache.apc". in /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:58\nStack trace:\n#0 /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php(51): Symfony\\Component\\DependencyInjection\\Compiler\\CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(Array)\n#1 /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php(51): Symfony\\Component\\DependencyInjection\\Compiler\\CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(Array)\n#2 /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnIn in /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php on line 58
答案 0 :(得分:0)
检查缓存文件夹是否可由apache(www-data)用户写入。您无法访问[VPS_IP] /my_project/web/app.php,因为您已在apache config中将web /文件夹定义为根文件夹。您应该使用您的域名在apache配置中定义ServerName和ServerAlias,或者尝试直接访问[VPS_IP] /app.php。 同时输入您的IP到app_dev并访问[VPS_IP] /app_dev.php以获得更明确的错误。