31. PDOException
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Connectors/­Connector.php47
30. PDO __construct
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Connectors/­Connector.php47
29. Illuminate\Database\Connectors\Connector createConnection
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Connectors/­MySqlConnector.php20
28. Illuminate\Database\Connectors\MySqlConnector connect
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Connectors/­ConnectionFactory.php59
27. Illuminate\Database\Connectors\ConnectionFactory createSingleConnection
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Connectors/­ConnectionFactory.php47
26. Illuminate\Database\Connectors\ConnectionFactory make
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­DatabaseManager.php127
25. Illuminate\Database\DatabaseManager makeConnection
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­DatabaseManager.php63
24. Illuminate\Database\DatabaseManager connection
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Eloquent/­Model.php2810
23. Illuminate\Database\Eloquent\Model resolveConnection
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Eloquent/­Model.php2776
22. Illuminate\Database\Eloquent\Model getConnection
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Eloquent/­Model.php1791
21. Illuminate\Database\Eloquent\Model newBaseQueryBuilder
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Eloquent/­Model.php1714
20. Illuminate\Database\Eloquent\Model newQuery
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Eloquent/­Model.php575
19. Illuminate\Database\Eloquent\Model find
…/­app/­filters/­CourseExistsFilter.php14
18. CourseExistsFilter filter
<#unknown>0
17. call_user_func_array
…/­vendor/­laravel/­framework/­src/­Illuminate/­Events/­Dispatcher.php323
16. Illuminate\Events\{closure}
<#unknown>0
15. call_user_func_array
…/­vendor/­laravel/­framework/­src/­Illuminate/­Events/­Dispatcher.php199
14. Illuminate\Events\Dispatcher fire
…/­vendor/­laravel/­framework/­src/­Illuminate/­Events/­Dispatcher.php154
13. Illuminate\Events\Dispatcher until
…/­vendor/­laravel/­framework/­src/­Illuminate/­Routing/­Router.php1399
12. Illuminate\Routing\Router callRouteFilter
…/­vendor/­laravel/­framework/­src/­Illuminate/­Routing/­Router.php1361
11. Illuminate\Routing\Router callAttachedBefores
…/­vendor/­laravel/­framework/­src/­Illuminate/­Routing/­Router.php1248
10. Illuminate\Routing\Router callRouteBefore
…/­vendor/­laravel/­framework/­src/­Illuminate/­Routing/­Router.php996
9. Illuminate\Routing\Router dispatchToRoute
…/­vendor/­laravel/­framework/­src/­Illuminate/­Routing/­Router.php968
8. Illuminate\Routing\Router dispatch
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php738
7. Illuminate\Foundation\Application dispatch
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php708
6. Illuminate\Foundation\Application handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Http/­FrameGuard.php38
5. Illuminate\Http\FrameGuard handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Session/­Middleware.php72
4. Illuminate\Session\Middleware handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Cookie/­Queue.php47
3. Illuminate\Cookie\Queue handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Cookie/­Guard.php51
2. Illuminate\Cookie\Guard handle
…/­vendor/­stack/­builder/­src/­Stack/­StackedHttpKernel.php23
1. Stack\StackedHttpKernel handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php606
0. Illuminate\Foundation\Application run
…/­public/­index.php49

PDOException

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

	 */
	public function createConnection($dsn, array $config, array $options)
	{
		$username = array_get($config, 'username');
 
		$password = array_get($config, 'password');
 
		return new PDO($dsn, $username, $password, $options);
	}
 
	 */
	public function createConnection($dsn, array $config, array $options)
	{
		$username = array_get($config, 'username');
 
		$password = array_get($config, 'password');
 
		return new PDO($dsn, $username, $password, $options);
	}
 
		$dsn = $this->getDsn($config);
 
		// We need to grab the PDO options that should be used while making the brand
		// new connection instance. The PDO options control various aspects of the
		// connection's behavior, and some might be specified by the developers.
		$options = $this->getOptions($config);
 
		$connection = $this->createConnection($dsn, $config, $options);
 
		$collation = $config['collation'];
	 * Create a single database connection instance.
	 *
	 * @param  array  $config
	 * @return \Illuminate\Database\Connection
	 */
	protected function createSingleConnection(array $config)
	{
		$pdo = $this->createConnector($config)->connect($config);
 
		return $this->createConnection($config['driver'], $pdo, $config['database'], $config['prefix'], $config);
 
		if (isset($config['read']))
		{
			return $this->createReadWriteConnection($config);
		}
		else
		{
			return $this->createSingleConnection($config);
		}
	}
		// and will call the Closure if so, which allows us to have a more generic
		// resolver for the drivers themselves which applies to all connections.
		if (isset($this->extensions[$driver]))
		{
			return call_user_func($this->extensions[$driver], $config, $name);
		}

		return $this->factory->make($config, $name);
	}

		$name = $name ?: $this->getDefaultConnection();

		// If we haven't created this connection, we'll create it based on the config
		// provided in the application. Once we've created the connections we will
		// set the "fetch mode" for PDO which determines the query return types.
		if ( ! isset($this->connections[$name]))
		{
			$connection = $this->makeConnection($name);

			$this->connections[$name] = $this->prepare($connection);
	 * Resolve a connection instance.
	 *
	 * @param  string  $connection
	 * @return \Illuminate\Database\Connection
	 */
	public static function resolveConnection($connection = null)
	{
		return static::$resolver->connection($connection);
	}
 
	/**
	 * Get the database connection for the model.
	 *
	 * @return \Illuminate\Database\Connection
	 */
	public function getConnection()
	{
		return static::resolveConnection($this->connection);
	}
 
	/**
	 * Get a new query builder instance for the connection.
	 *
	 * @return \Illuminate\Database\Query\Builder
	 */
	protected function newBaseQueryBuilder()
	{
		$conn = $this->getConnection();
 
		$grammar = $conn->getQueryGrammar();
	 * Get a new query builder for the model's table.
	 *
	 * @param  bool  $excludeDeleted
	 * @return \Illuminate\Database\Eloquent\Builder|static
	 */
	public function newQuery($excludeDeleted = true)
	{
		$builder = $this->newEloquentBuilder($this->newBaseQueryBuilder());
 
		// Once we have the query builders, we will set the model instances so the
	 */
	public static function find($id, $columns = array('*'))
	{
		if (is_array($id) && empty($id)) return new Collection;
 
		$instance = new static;
 
		return $instance->newQuery()->find($id, $columns);
	}
 
	 *
	 * @return \Illuminate\Http\RedirectResponse|void
	 */
    public function filter($route, $request)
    {
		$course = $route->parameter('course');
		
        if (!is_null($course) && is_null(Course::find($course))) {
			return $this->response();
		}
<#unknown>
			$callable = array($container->make($segments[0]), $method);
 
			// We will make a callable of the listener instance and a method that should
			// be called on that instance, then we will pass in the arguments that we
			// received in this method into this listener class instance's methods.
			$data = func_get_args();
 
			return call_user_func_array($callable, $data);
		};
	}
<#unknown>
		// payload to each of them so that they receive each of these arguments.
		if ( ! is_array($payload)) $payload = array($payload);
 
		$this->firing[] = $event;
 
		foreach ($this->getListeners($event) as $listener)
		{
			$response = call_user_func_array($listener, $payload);
 
			// If a response is returned from the listener and event halting is enabled
	 *
	 * @param  string  $event
	 * @param  array   $payload
	 * @return mixed
	 */
	public function until($event, $payload = array())
	{
		return $this->fire($event, $payload, true);
	}
 
	 */
	public function callRouteFilter($filter, $parameters, $route, $request, $response = null)
	{
		if ( ! $this->filtering) return null;
 
		$data = array_merge(array($route, $request, $response), $parameters);
 
		return $this->events->until('router.filter: '.$filter, $this->cleanFilterParameters($data));
	}
 
	 * @param  \Illuminate\Http\Request  $request
	 * @return mixed
	 */
	protected function callAttachedBefores($route, $request)
	{
		foreach ($route->beforeFilters() as $filter => $parameters)
		{
			$response = $this->callRouteFilter($filter, $parameters, $route, $request);
 
			if ( ! is_null($response)) return $response;
	 * @param  \Illuminate\Http\Request  $request
	 * @return mixed
	 */
	public function callRouteBefore($route, $request)
	{
		$response = $this->callPatternFilters($route, $request);
 
		return $response ?: $this->callAttachedBefores($route, $request);
	}
 
		$route = $this->findRoute($request);
 
		$this->events->fire('router.matched', array($route, $request));
 
		// Once we have successfully matched the incoming request to a given route we
		// can call the before filters on that route. This works similar to global
		// filters in that if a response is returned we will not call the route.
		$response = $this->callRouteBefore($route, $request);
 
		if (is_null($response))
		// If no response was returned from the before filter, we will call the proper
		// route instance to get the response. If no route is found a response will
		// still get returned based on why no routes were found for this request.
		$response = $this->callFilter('before', $request);
 
		if (is_null($response))
		{
			$response = $this->dispatchToRoute($request);
		}
 
		}
 
		if ($this->runningUnitTests() && ! $this['session']->isStarted())
		{
			$this['session']->start();
		}
 
		return $this['router']->dispatch($this->prepareRequest($request));
	}
 
	{
		try
		{
			$this->refreshRequest($request = Request::createFromBase($request));
 
			$this->boot();
 
			return $this->dispatch($request);
		}
		catch (\Exception $e)
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @param  int   $type
	 * @param  bool  $catch
	 * @return \Symfony\Component\HttpFoundation\Response
	 */
	public function handle(SymfonyRequest $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
	{
		$response = $this->app->handle($request, $type, $catch);
 
		$response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);
		if ($this->sessionConfigured())
		{
			$session = $this->startSession($request);
 
			$request->setSession($session);
		}
 
		$response = $this->app->handle($request, $type, $catch);
 
		// Again, if the session has been configured we will need to close out the session
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @param  int   $type
	 * @param  bool  $catch
	 * @return \Symfony\Component\HttpFoundation\Response
	 */
	public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
	{
		$response = $this->app->handle($request, $type, $catch);
 
		foreach ($this->cookies->getQueuedCookies() as $cookie)
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @param  int   $type
	 * @param  bool  $catch
	 * @return \Symfony\Component\HttpFoundation\Response
	 */
	public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
	{
		return $this->encrypt($this->app->handle($this->decrypt($request), $type, $catch));
	}
 
    {
        $this->app = $app;
        $this->middlewares = $middlewares;
    }
 
    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
    {
        return $this->app->handle($request, $type, $catch);
    }
 
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @return void
	 */
	public function run(SymfonyRequest $request = null)
	{
		$request = $request ?: $this['request'];
 
		$response = with($stack = $this->getStackedClient())->handle($request);
 
		$response->send();
| Once we have the application, we can simply call the run method,
| which will execute the request and send the response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have whipped up for them.
|
*/
 
$app->run();
 
Key Value
REDIRECT_STATUS 200
HTTP_ACCEPT */*
HTTP_USER_AGENT claudebot
HTTP_HOST publish.budaedu.org
PATH /sbin:/usr/sbin:/bin:/usr/bin
SERVER_SIGNATURE <address>Apache/2.2.15 (CentOS) Server at publish.budaedu.org Port 80</address>
SERVER_SOFTWARE Apache/2.2.15 (CentOS)
SERVER_NAME publish.budaedu.org
SERVER_ADDR 192.168.1.2
SERVER_PORT 80
REMOTE_ADDR 18.206.13.112
DOCUMENT_ROOT /var/www/html
SERVER_ADMIN root@localhost
SCRIPT_FILENAME /var/www/html/laravel/public/index.php
REMOTE_PORT 50446
REDIRECT_URL /laravel/public/front/courses/372
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING
REQUEST_URI /laravel/public/front/courses/372
SCRIPT_NAME /laravel/public/index.php
PHP_SELF /laravel/public/index.php
REQUEST_TIME 1711614956
empty
empty
empty
empty
empty
empty
0. Whoops\Handler\PrettyPageHandler